var pop_up;

function open_win(page,name,parms) {
	pop_up = window.open(page,name,parms);
	pop_up.focus();
}

function get_photo_sizes() {
	var i,el_ref,el_len,sel_string='';
	el_ref = document.event_form.sizes_y;
	el_len = el_ref.length;
	
	for (i=0;i<el_len;i++) {
		if (el_ref[i].selected) {
		sel_string += ',' + el_ref[i].value;
		}
	}
	sel_string = sel_string.substr(1,sel_string.length-1);
	document.event_form.photo_sizes.value=sel_string;
}

function openWindow(page_url,page_name,page_width,page_height) {
	var newWin = window.open(page_url, page_name, 'width=' + page_width + ',height=' + page_height + ',top=0,left=0,resizable,scrollbars,statusbar');
	newWin.focus();
}

function print_receipt(order_id) {
	openWindow(base_dir+'receipt.php?id='+order_id,'receipt','700','400');
}

function enter_key_submit(key_code,form_id,cmd) {
	if (key_code == 13) {
		check_form(form_id,cmd);
	}
}

var pre_error = 'The following errors have been detected:' + "\n" + '---------------------' + "\n";
var post_error =  '---------------------' + "\n" + 'Please fix and resubmit.';
function check_form(form_id,cmd) {
	var in_beta = false;
	var errors = new Array();
	var error_list = '';
	var f = document.getElementById(form_id);
	
	switch (form_id) {
	case 'default_set_form' :
		var has_selected=false;
		var num_lists = document.getElementById('num_set_lists').value;
		for (var i=0;i<num_lists;i++) {
			if (document.getElementById('default_list_'+i).checked == true) { has_selected=true; }
		}
		if (!has_selected) { errors.push('Please select a pricing set!'); }
		break;
	case 'login_form' :
		if (f.username.value == '' || f.password.value == '') {
			errors.push('You must enter a username and password!');
		}
		break;
	case 'event_info_form' :
		if (f['secure'][0].checked == true) {
			if (f['password'].value == '') {
				errors.push('You have chosen to make this a secure event so please enter a password.');
			}
		}
		break;
	case 'search_form' :
		if (f.search.value == '') {
			errors.push('Please enter search criteria!');
		}
		break;
	case 'contact_form' :
		if (f.email_from.value == '' || f.email_name.value == '' || f.email_message.value == '') {
			errors.push('Please fill in all information and re-send.');
		}
		break;
	case 'order_form' :
		if (f.shipping_address.checked) {
			if(f.ship_first_name.value == '' || f.ship_last_name.value == '' || f.ship_address.value == '' || f.ship_city.value == '' || f.ship_postal_code.value == '') {
				errors.push('Please fill in all shipping information.');
			}
		}
		break;
	case 'price_form' :
	var new_set_name = document.getElementById('new_set_name').value;
	if (new_set_name == '' || new_set_name == ' ') {
			errors.push('Please enter a name for this set!');
		} else {
			f.set_name.value = new_set_name;
		}
		break;
	
	case 'photos_price_form' :
		var new_set_name = document.getElementById('new_set_name').value;
		if (new_set_name == '' || new_set_name == ' ') {
			errors.push('Please enter a name for this set!');
		} else {
			f.set_name.value = new_set_name;
		}
		
		var isnan_error = false;
		for (var i=0;i<f.length;i++) {
			if (f.elements[i].type == 'text') {
				if (isNaN(f.elements[i].value)) {
					f.elements[i].style.backgroundColor='#ff0000';
					isnan_error = true;
				}
			}
		}
		
		if (isnan_error) { errors.push('All values must be a number!'); }
		break;
	case 'cards_price_form' :
		//in_beta = true;
		var new_set_name = document.getElementById('new_set_name').value;
		if (new_set_name == '' || new_set_name == ' ') {
			errors.push('Please enter a name for this set!');
		} else {
			f.set_name.value = new_set_name;
		}
		
		var isnan_error = false;
		for (var i=0;i<f.length;i++) {
			if (f.elements[i].type == 'text') {
				if (isNaN(f.elements[i].value)) {
					f.elements[i].style.backgroundColor='#ff0000';
					isnan_error = true;
				}
			}
		}
		
		if (isnan_error) { errors.push('All values must be a number!'); }
		break;
	
	
	
	case 'event_pricing_form2' :
	
		break;
	case 'event_pricing_form' :
		var el_len = f['default_pricing'].length;
 		for (var i=0;i<el_len;i++){
 			if (f['default_pricing'][i].checked == true) {
 				var checked_val = f['default_pricing'][i].value;
 			}
 		}
 		if (checked_val == 'y') {
 			if (document.getElementById('price_cat_id') == false) {
 				errors.push('You need to set your pricing structures!');
 			}
 		}

		break;
	}

	if (errors.length > 0) {
		for (var i=0;i<errors.length;i++) {
			error_list += (i+1) + '. ' + errors[i] + "\n";
		}
		alert(pre_error + error_list + post_error);
	} else {
		if (cmd) {f.cmd.value=cmd;}
		//alert(f.cmd.value);
		if (in_beta) {
			alert ('Still in beta!');
		} else {
			f.submit();
		}
	}
}

function update_pricing() {
	document.price_form.submit();
}

function ship_addr(cmd) {
	switch (cmd) {
	case 'show':
		document.getElementById('ship_addr_block').style.display='block';
		break;
	case 'hide':
		document.getElementById('ship_addr_block').style.display='none';
		break;
	}
}

function send_order() {
	document.preorder_form.submit();

}

function el_display(test_form,test_field,test_val,display_id) {
	var form_ref,form_len,el_type,el_len,el_num,i,block;
	//get element type
	form_ref = document.getElementById(test_form);
	form_len = form_ref.length;
	for (i=0;i<form_len;i++) {
		if (form_ref.elements[i].name == test_field) {
			el_type = form_ref.elements[i].type;
			el_num = i;
		}
	}
	// check element value
	if (el_type == 'radio') {
		el_len = form_ref[test_field].length;
 		for (var i=0;i<el_len;i++){
 			if (form_ref[test_field][i].checked == true) {
 				var checked_val = form_ref[test_field][i].value;
 			}
 		}
 		block = (checked_val == test_val) ? true : false;
	} else {
		block = (form_ref[test_field].value == test_val) ? true : false;
	}
	// set the display of the display_id element
	if (block) {
 		document.getElementById(display_id).style.display='block';
 	} else {
 		document.getElementById(display_id).style.display='none';
 	}
}

function delete_order(url) {
	if (confirm('Do you really want to delete this order?')) {
		window.location=url;
	}
}


function toggle_pricing() {
	f = document.getElementById('event_pricing_form');
	el_len = f['default_pricing'].length;
 	for (var i=0;i<el_len;i++){
 		if (f['default_pricing'][i].checked == true) {
 			var checked_val = f['default_pricing'][i].value;
 		}
 	}
 	switch (checked_val) {
 	case 'y' :
 		document.getElementById('default_price').style.display='block';
 		document.getElementById('event_price').style.display='none';
 		break;
 	case 'n' :
 		document.getElementById('default_price').style.display='none';
 		document.getElementById('event_price').style.display='block';
 		break;
 	}
	
}



function set_display(id,display) {
	document.getElementById(id).style.display = display;
}
function get_value(id) {
	return document.getElementById(id).value;
}




function order_type() {
	/*
	switch (get_value('order_type_select')) {
	case 'customer' :
		set_display('customers','block');
		set_display('events','none');
		break;
	case 'client' :
		set_display('customers','none');
		set_display('events','none');
		break;
	}
	*/
	if (get_value('order_type_select') == 'client_studio') {
		document.getElementById('advanced_search_form').customer.checked = false;
		document.getElementById('display_customer').style.display = 'none';
		document.getElementById('advanced_search_form').sub_total.checked = false;
		document.getElementById('display_sub_total').style.display = 'none';
	} else {
		document.getElementById('advanced_search_form').customer.checked = true;
		document.getElementById('display_customer').style.display = 'block';
		document.getElementById('advanced_search_form').sub_total.checked = true;
		document.getElementById('display_sub_total').style.display = 'block';
		
	}
}



function customer_type() {
	if (get_value('order_customer_select') == 'specific') {
		set_display('customer_name','block');
	} else {
		set_display('customer_name','none');
	}
}


function search_events() {
	if (get_value('event_select') == 'specific') {
		set_display('eventId','block');
	} else {
		set_display('eventId','none');
	}
}

function select_range() {
	switch (get_value('range_select')) {
	case 'date' :
		set_display('date_range','block');
		set_display('order_num_range','none');
		break;
	case 'order' :
		set_display('date_range','none');
		set_display('order_num_range','block');
		break;
	case 'all' :
		set_display('date_range','none');
		set_display('order_num_range','none');
		break;
	}
}

function adv_order_search() {
	$('adv_search_results').innerHTML = '<p>Loading ...</p>';
	var error_list = new Array();
	var f_ref = $('advanced_search_form');
	var order_type = get_value('order_type_select');
	var url_params = 'type=' + order_type;
	var client_id = get_value('client_id');
	url_params += '&client_id=' + client_id;
	
	var event_search = get_value('event_select');
	if (event_search == 'specific') {
		var search_event = get_value('search_event');
		if (search_event != '') {
			url_params += '&search_event='+search_event;
		} else {
			error_list.push('No event ID was entered.');
		}
	}
	url_params += (get_value('order_status_select') == 'saved') ? '&table=temp': '&table=live';
	
	var range = get_value('range_select');
	switch (range) {
	case 'date' :
		var range_min =  get_value('year_from') + '-' +  get_value('month_from') + '-' + get_value('day_from');
		var range_max =  get_value('year_to') + '-' +  get_value('month_to') + '-' + get_value('day_to');
		url_params += '&range=' + range + '&range_max=' + range_max + '&range_min=' + range_min;
		break;
	case 'order' :
		var range_min =  get_value('order_from');
		var range_max =  get_value('order_to');
		url_params += '&range=' + range + '&range_max=' + range_max + '&range_min=' + range_min;
		break;
	}
	url_params += '&sort_by=' + get_value('results_order_by_select');
	url_params += '&sort_order=' + get_value('results_order_select');
	var limit_select = get_value('limit_select');
	if (limit_select > 0) {url_params += '&page_limit=' + limit_select;}
	
	// check display choices
	var display_fields = '';
	if (f_ref.order_id.checked) {display_fields += '|order_id';}
	if (f_ref.event_id.checked) {display_fields += '|event_id';}
	if (f_ref.order_date.checked) {display_fields += '|order_date';}
	if (f_ref.customer.checked) {display_fields += '|customer';}
	if (f_ref.status.checked) {display_fields += '|status';}
	if (f_ref.order_ref.checked) {display_fields += '|order_ref';}
	if (f_ref.sub_total.checked) {display_fields += '|sub_total';}
	if (display_fields != '') {
		if (f_ref.customer.checked && order_type == 'client_studio') {
			error_list.push('You can only display a customers name on customer orders.');
		} else {
			url_params += '&fields=' + display_fields.substr(1);
		}
	} else {
		error_list.push('No display fields were chosen.');
	}
	
	//ERROR CHECK
	if (error_list.length > 0) {
		var alert_error = '';
		for (var i=0;i<error_list.length;i++) {
			alert_error += (i+1) + '. ' + error_list[i] + "\n";
		}
		alert(alert_error);
	} else {
		//alert(url_params);
		var ajax_params = url_params;
		var ajax_url = '/ajax/adv_search.php';
		//var ajax_method = 'POST';
		//if (ajax_available()) {
		//	ajax_action = function() {
		//		//alert(ajax_response_txt);
		//		$('adv_search_results').innerHTML = ajax_response_txt;
		//	}
		//	ajax_send(ajax_method,ajax_url,ajax_params);
		//}
		
		var ajaxOpts = {method:'post',
			parameters : ajax_params,
			onSuccess : function(resp) {
				//alert(resp.responseText);
				//var resp = resp.responseText.strip().evalJSON();
				$('adv_search_results').innerHTML = resp.responseText;
			}
		}
		new Ajax.Request(ajax_url,ajaxOpts);
	}
}

function adv_order_search_2(url_params) {
	//alert(url_params);

	var ajax_params = url_params;
	var ajax_url = 'http://www.myeventorder.com/client/inc/adv_search.php';
	var ajax_method = 'POST';
	if (ajax_available()) {
		ajax_action = function() {
			//alert(ajax_response_txt);
			document.getElementById('adv_search_results').innerHTML = ajax_response_txt;
		}
		ajax_send(ajax_method,ajax_url,ajax_params);
	}

}

function in_array(aray,val) {
	var inArray = false;
	var i;
	var len = aray.length;
	for (var i=0;i<len;i++) {
		if (aray[i] == val) {
			inArray = true;
		}
	}
	return inArray;
}

function toggle_index(id) {
	var i;
	var len = selected_items.length;
	for (var i=0;i<len;i++) {
		if (selected_items[i] == id) {
			break;
		}
	}
	return i;
}

function select_item(id) {
	selected_items.push(id);
	$(id).style.borderColor = "#f00";
}

function unselect_item(id) {
	selected_items.splice(toggle_index(id),1);
	$(id).style.borderColor = "#000";
}

var selected_items = new Array();
function toggle_item(id) {
	if (in_array(selected_items,id)) {
		unselect_item(id);
	} else {
		select_item(id);
	}
}


function view_card(filename) {
	if (document.getElementById('card_view')) {
		remove_id('card_view');
	}
	
	var card_preview = document.createElement('div');
	card_preview.setAttribute('id','card_view');			
	
	var img = document.createElement("img");
	img.setAttribute("src",'../cards/ordered/'+filename);
	var insert_img = card_preview.appendChild(img);
	
	var link = document.createElement("a");
	link.setAttribute("href","javascript:remove_id('card_view');");
	var insert_link = card_preview.appendChild(link);
	var link_text = document.createTextNode('close');
	var insert_link_text = insert_link.appendChild(link_text);
	
	document.body.appendChild(card_preview);
}

function remove_id(id) {
	var remove_item = document.getElementById(id);
	document.body.removeChild(remove_item);
}



// PRICING

//cards_discount_1		(discount cell 1)
//cards_total_dis_1		(total discounts in discount cell 1)

//cards_dis_item_1_1	(discount 1 in discount cell 1)
//cards_dis_qty_1_1		(discount quantiy 1 in discount cell 1)
//cards_dis_amount_1_1		(discount percent 1 in discount cell 1)

function get_discount(cell_num,dis_num,dis_qty,dis_amount) {
	var dis_item = '';
	dis_item += '<span id="cards_dis_item_' + cell_num + '_' + dis_num + '">';
	dis_item += '<a href="javascript:delete_discount(\'cards\',' + cell_num + ',' + dis_num + ');">[-]</a>';
	dis_item += '<input type="text" name="cards_dis_qty_' + cell_num + '_' + dis_num + '" id="cards_dis_qty_' + cell_num + '_' + dis_num + '" value="' + dis_qty + '" />';
	dis_item += '/';
	dis_item += '<input type="text" name="cards_dis_amount_' + cell_num + '_' + dis_num + '" id="cards_dis_amount_' + cell_num + '_' + dis_num + '" value="' + dis_amount + '" />';
	dis_item += '</span>';
	
	return dis_item;
}



function add_discount(type,cell_num,dis_num) {
	var dis_qty = 0;
	var dis_amount = 0;
	var new_dis = '';
	var total_dis = new Number(document.getElementById('cards_total_dis_' + cell_num).value);
	
	
	
	for (var i=1;i<(total_dis + 1);i++) {
		dis_qty = document.getElementById('cards_dis_qty_' + cell_num + '_' + i).value;
		dis_amount = document.getElementById('cards_dis_amount_' + cell_num + '_' + i).value;
		new_dis += get_discount(cell_num,i,dis_qty,dis_amount);
	}
	
	new_dis += get_discount(cell_num,i,0,0);
	new_dis += '<a href="javascript:add_discount(\'cards\',' + cell_num + ',' + dis_num + ');">[+]</a>';
	
	document.getElementById('cards_discount_' + cell_num).innerHTML=new_dis;
	
	total_dis++;
	document.getElementById('cards_total_dis_' + cell_num).value = total_dis;
	
	//alert(total_dis);
}

function delete_discount(type,cell_num,dis_num) {
	var total_dis = new Number(document.getElementById('cards_total_dis_' + cell_num).value);
	var del_cell = document.getElementById('cards_discount_' + cell_num);
	var del_item = document.getElementById(type + '_dis_item_' + cell_num + '_' + dis_num);
	del_cell.removeChild(del_item);
	
	total_dis--;
	document.getElementById('cards_total_dis_' + cell_num).value = total_dis;
	
}

function set_card_price(catID) {
	var setPrice = $('card_cat_price_' + catID).value;
	var pTable = $('cards_price_table');
	if (isNaN(setPrice) === true || setPrice == '') {
		alert('Please enter a number.');
	} else {
		pTable.select('input.cat_' + catID).each(function (p,pI) {
			p.value = setPrice;
		});
	}
}





// -------------------- EVENT PHOTOS
var photos_win_obj = '';
function showEventPhotos_ (eid,type) {
	var win_height;
	var ajax_params = 'event_id=' + eid + '&type=' + type;
	var ajax_url = site_ajax_dir + 'event_photos.php';

	var ajax_opts = {method: 'post',
		postBody: ajax_params,
		onSuccess: function(ajax_resp) {
			//alert(ajax_resp.responseText);
			photos_win_obj = new Window('photos_win',{className:"alphacube",width:120,height:400,minimizable: false,maximizable: false,closable: false,resizable: false,draggable: false,showEffectOptions: {duration:1}});
			photos_win_obj.getContent().innerHTML = ajax_resp.responseText;
			photos_win_obj.showCenter(true,0,0);
			photos_win_obj.setDestroyOnClose();
		},
		onFailure: function() { alert('something is wrong'); }
	}
	
	new Ajax.Request(ajax_url,ajax_opts);
}

function cancelEventPhotos() {
	photos_win_obj.hide();
}




function showEventPhotos (test,test2) {
	$('event_home_photo').show();
}


// -------------------- EVENT PHOTOGRAPHERS
function attachEventPhotographer (eid) {
	var p = $('photographers');
	var pid = p.value;
	//alert(p.tagName);
	if (p.value != '') {
		var sp = $('studio_photographers');
		var ep = $('event_photographers');
		
		// do ajax
		var ajax_params = 'cmd=attach&event_id=' + eid + '&photographer_id=' + pid;
		var ajax_url = site_ajax_dir + 'eventPhotographers.php';
		var ajax_opts = {method: 'post',
			postBody: ajax_params,
			onSuccess: function(ajax_resp) {
				//alert(ajax_resp.responseText);
				var resp = ajax_resp.responseText
				if (resp != 'exists') {
					var pLink = '<li id="ep_' + pid + '">' + resp + ' <a href="javascript:unattachEventPhotographer(\'' + eid + '\',' + pid + ');">remove</a></li>';
					if (ep.down('ul') == undefined) {
						ep.down('.warning').remove();
						ep.insert({'bottom':'<ul>' + pLink + '</ul>'});
					} else {
						ep.down('ul').insert({'bottom':pLink});
					}
				}
				p.down('option',0).selected = 'selected';
			}
		}
		new Ajax.Request(ajax_url,ajax_opts);
	}
}

function unattachEventPhotographer (eid,pid) {
	$('ep_' + pid).remove();
	if ($('event_photographers').select('li').length < 1) {
		if ($('event_photographers').down('ul') != undefined) { $('event_photographers').down('ul').remove(); }
		$('event_photographers').insert({'bottom':'<p class="warning">( - None selected, please select below - )</p>'});
	}
	
	// do ajax
	var ajax_params = 'cmd=unattach&event_id=' + eid + '&photographer_id=' + pid;
	var ajax_url = site_ajax_dir + 'eventPhotographers.php';
	var ajax_opts = {method: 'post',
		postBody: ajax_params,
		onSuccess: function(ajax_resp) {
			//alert(ajax_resp.responseText);
		}
	}
	new Ajax.Request(ajax_url,ajax_opts);
	
}

function addStudioPhotographer (cid,eid) {
	var fn = $('photographerFirstName').value;
	var ln = $('photographerLastName').value;
	if (fn == '' || ln == '') {
		alert('Please enter a first name and last name.');
	} else {
		// do Ajax
		var ajax_params = 'cmd=add&client_id=' + cid + '&fName=' + fn + '&lName=' + ln;
		var ajax_url = site_ajax_dir + 'eventPhotographers.php';
		var ajax_opts = {method: 'post',
			postBody: ajax_params,
			onSuccess: function(ajax_resp) {
				//alert(ajax_resp.responseText);
				var pid = ajax_resp.responseText;
				var newOpt = '<option value="' + pid + '">' + fn + ' ' + ln + '</option>';
				if ($('studio_photographers').down('select#photographers') == undefined) {
					$('studio_photographers').down('.warning').hide();
					$('studio_photographers').insert({'bottom':'<select id="photographers" onchange="javascript:attachEventPhotographer(\'' + eid + '\');"><option value="" selected="selected">-- attach photographer --</option>' + newOpt + '</select>'});
				} else {
					$('photographers').down('option',0).insert({'after':newOpt});
				}
				$('photographerFirstName').value = '';
				$('photographerLastName').value = '';
			}
		}
		new Ajax.Request(ajax_url,ajax_opts);
	}
}






