/* JavaScript Document */
var loading = new Array();
loading.push('checkCommaned();');

var section = document.location.href.replace(/^.*(&|\?)section=([^&]*).*$/g, '$2');
var module  = document.location.href.replace(/^.*(&|\?)module=([^&]*).*$/g, '$2');

function localAct(action, obj, id)
{
	switch(action) {
		case 'detail' :
			if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');			
			var id = id ? id : findID(obj);
			$('edit_box').style.top =  window.getSize().scroll.y+4+'px';
			$('edit_box').style.left = Math.max((window.getSize().size.x-$('edit_box').getSize().size.x)/2, 8)+'px';
			$('loading').removeClass('hidden');
			new ajax('index.php?section='+section+'&module='+module+'&cmd=detail&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			break;
		case 'msg' :
		case 'replay' :
		case 'forward' :
			if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');			
			var id = id ? id : findID(obj);
			$('edit_box').style.top =  window.getSize().scroll.y+4+'px';
			$('edit_box').style.left = Math.max((window.getSize().size.x-$('edit_box').getSize().size.x)/2, 8)+'px';
			$('loading').removeClass('hidden');
			new ajax('index.php?section='+section+'&module='+module+'&cmd=edit&btn='+action+'&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			break;
	}
}

function specialAct(action, obj, id)
{
	switch(action) {
		case 'detail' :
			var url = "./index.php?section="+section+"&module="+module+"&cmd="+action+"&id="+id;
			openNewWindow(url,900,500);return false;
			break;
	}
}

//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}


function submitForm()
{
	saveForm('form1', section+'/'+module);
	capacity = $('startdate').value.split('|')[1];
	if(capacity < count && !confirm('تعداد انتخاب شده بیش از ظرفیت موجود میباشد.اگر میخواهید در لیست انتظار قرار بگیرید لطفا دکمه تایید را فشار دهید.در غیر اینصورت برای انتخاب تاریخ دیگر دکمه لغو را فشار دهید.')) {	
		$('startdate').focus();
		return false;
	}	
	if ($('ok').hasClass('disabled')) return false;	
	$$('INPUT').each(function(el){
		el.value = el.value ? el.value : ' '; 
	});
	$$('.xbed').each(function(el){
		el.disabled = false;
		el.addClass('hidden');
	});
	$('form1').submit();
}

function duplicate_row(obj)
{
	var row1 = $(obj).getParent().getParent();
	var row2 = row1.clone();
	cnt = 1
	row2.injectAfter(row1);
	$$(".agerow").each(function(el){
		el.getFirst().innerHTML = cnt;
		el.getElementsBySelector("input, select, .agetext").each(function(el){
			el.id = el.id.replace(/\[\d+\]/, '['+cnt+']');
			el.name = el.id;
		});			
		cnt++;
	});
	row2.getElementsBySelector("input").each(function(el){
		el.value = '';
	});
	row2.getElementsBySelector("select").each(function(el){
		el.selectedIndex = 0;
		el.disabled = 0;
	});
	row2.getElementsBySelector(".agetext").each(function(el){
		el.innerHTML = '&nbsp;';
	});
	row2.getElementsBySelector(".deletebtn")[0].removeClass('hidden');
}

function delete_row(obj)
{
	$(obj).getParent().getParent().remove();
}

function checkValue(e, obj, reg, minval, maxval)
{
	e = new Event(e);
	if(window.nodatecheck) {
		window.nodatecheck = false;
		return false;
	}
	if(!reg) {
		if(obj.name.match(/\[y\]/i) && obj.value*1 < 100)
			obj.value = obj.value*1 + 1300;
		if(obj.value*1 < minval || obj.value*1 > maxval){
//			obj.focus.delay(10, obj);
			setTimeout('window.nodatecheck=false;', 100);
			obj.value= null;
			window.nodatecheck = true;
			return false;
		}
	}
	return true;
}

function checkAge(obj, tid)
{
	var id = obj.id.replace(/^.*\[(\d+)\].*$/, '$1');
	$('agetext['+id+']').innerHTML = '<img src="../images/loading2.gif" />';
	var date1 = $(obj).getParent().getChildren()[2].value+'-'+$(obj).getParent().getChildren()[1].value+'-'+$(obj).getParent().getChildren()[0].value;
	var date2 = $('date2').name;
	new ajax('index.php?section=guest&module=book&cmd=calc&date1='+date1+'&date2='+date2+'&tourid='+tid+'&id='+id, {evalScripts:true}).request();
}

function checkBed()
{
	window.age1 = 0;
	window.age2 = 0;
	window.age3 = 0;
	window.age4 = 0;
	//window.age2bed = 0;
	window.bed = 0;
	window.inprogress = 0;
	window.no1bed = false;
		
	$$('.agetext').each(function(el){
		var html = el.innerHTML.toLowerCase();
		if(html.indexOf('<img')!=-1)//inprogress
			window.inprogress = 1;
		if(html.indexOf('<h1>')!=-1)//nozad
			window.age1++;
		if(html.indexOf('<h2>')!=-1) {//koodak 6
			window.age2++;
			if(el.getNext().getNext().getFirst().value=='1') {
				window.age2--;
				window.age3++;
				window.bed++;
			}
		}
		if(html.indexOf('<h3>')!=-1) {//koodak 12
			window.age3++;
			window.bed++;
		}
		if(html.indexOf('<h4>')!=-1) {//goonda
			window.age4++;
			window.bed++;
		}
	});
	if(window.inprogress) {
		checkBed.delay(500);
		return;
	}
	
	if(window.age4==1 && (window.age3 || window.age2 || window.age1)) {
		window.age4++;
		if (window.age3) {
			window.age3--;
		} else if (window.age2) {
			window.age2--;
		} else {
			window.age1--;
		}
		window.no1bed = true;
	}
	//console.log(last);
	if(window.age4 * 1000000 + window.age3 * 10000 + window.age2 * 100 + window.age1 == window.last) {
		window.last = window.age4 * 1000000 + window.age3 * 10000 + window.age2 * 100 + window.age1;
		checkBed.delay(1500);
		return;
	}

	window.last = window.age4 * 1000000 + window.age3 * 10000 + window.age2 * 100 + window.age1;
	$$('.pricerow').each(function(el){
		el.addClass('hidden');
	});
	
	if(window.age1) 
		$$('.age1_1').each(function(el){
			el.removeClass('hidden');							  
		});
	
	if(window.age2)
		$$('.age2_1').each(function(el){
			el.removeClass('hidden');							  
		});
	
	if(window.age3) 
		$$('.age3_1').each(function(el){
			el.removeClass('hidden');							  
		});
	
	for(var i=1; i<=window.age4; i++) {
		if(window.no1bed && i==1) i++;
		$$('.age4_'+i).each(function(el){
			el.removeClass('hidden');							  
		});
	}
	
	$$('.hidden .chk').each(function(el){
		el.checked = false;
	});
	
	checkBed.delay(1500);
	//console.log('age1: '+age1+'  age2: '+age2+'  age3: '+age3+'  age4: '+age4+'  bed: '+bed);
}

function checkForm()
{
	var agerow = $$('.agerow');
	$$(".agerow .familyname, .agerow .firstname").each(function(el){
		if(!el.value || el.value.length < 1) {
			agerow = null;
		}
	});
	if(!agerow) {
		alert ('لطفا نام افراد را وارد نمائید');
		return false;
	}
	$$('.agerow .bday').each(function(el){
		if(!el.value) {
			agerow = null;
		}
	});
	if(!agerow) {
		alert ('لطفا تاریخ تولد افراد را صحیح وارد نمائید');
		return false;
	}
	if(agerow.length > 1) {
		agerow.getElementsBySelector('.relation').each(function(el){
			if(!el[0].value || el[0].value.length < 1) {
				agerow = null;
			}
		});
		if(!agerow) {
			alert ('لطفا نسبت افراد را مشخص نمایید.');
			return false;
		}
	}
	if($("factor[1][xaddress]").value.length < 2 || (($("factor[1][xtel]").value && $("factor[1][xtel]").value.length<8) || ($("factor[1][xmobile]").value && $("factor[1][xmobile]").value.length < 10))) {
		alert ('لطفا تلفن یا مبایل و آدرس خود را وارد نمایید.');
		return false;
	}
	
	if($('messenger').getValue()){
		if(!$('Delivery_Date').getValue() || !$('Delivery_Time').getValue()){
			alert ('لطفا تاریخ و ساعت مراجعه پیک را وارد کنید');
			return false;
		}
	}
	
	//----------
	if (!$$('.age4_3 INPUT.chk')[0].getValue()) {
		var r3 = 0;
	} else {
		var r3 = Number($$('.age4_3 SELECT.roomcount')[0].getValue());
	}
	
	if ($$('.age3_1 INPUT.personcount').length) {
		var ch = Number($$('.age3_1 INPUT.personcount')[0].getValue());
	} else {
		var ch = 0;
	}
	var sumRooms = 0;
	$$('.pricerow').each(function(el){
		if(el.getElementsBySelector('SELECT.roomcount').length  && el.getElementsBySelector('INPUT.chk')[0].checked){
			sumRooms += Number(el.getElementsBySelector('SELECT.roomcount')[0].getValue());
		}
	});
	if( ((r3*2)+ch)/2 > sumRooms ){
		alert("تعداد اتاق ها و تخت های اضافه با قوانین سازگار نیست");
		return false;
	}
	//----------
	var agelist = {1: 0, 2: 0, 3: 0, 4: 0};
	var maxperson = 0;
	var maxbed = 0;
	var perbeds = 0;
	$$('.pricerow').each(function(el){
		if(el.getElementsBySelector('.chk')[0].checked && !el.hasClass('hidden')) {
			if(el.hasClass('age1')) {
				agelist[1] += parseInt(el.getElementsBySelector('.personcount')[0].value);
			}
			if(el.hasClass('age2')) {
				agelist[2] += parseInt(el.getElementsBySelector('.personcount')[0].value);
			}
			if(el.hasClass('age3')) {
				agelist[3] += parseInt(el.getElementsBySelector('.personcount')[0].value);
			}
			if(el.hasClass('age4')) {
				agelist[4] += parseInt(el.getElementsBySelector('.personcount')[0].value);
				maxbed += parseInt(el.getElementsBySelector('.roomcount')[0].value)+parseInt(el.getElementsBySelector('.roomcapacity')[0].value);
				maxperson += (parseInt(el.getElementsBySelector('.roomcount')[0].value)+1)+parseInt(el.getElementsBySelector('.roomcapacity')[0].value);
			}
		}
	});
	var beds = agelist[3] + agelist[4];
	var persons = agelist[1] + agelist[2] + perbeds;
	if(age1!=agelist[1] || age2!=agelist[2] || age3!=agelist[3] || age4!=agelist[4] || beds>maxbed || persons>maxperson) {
		alert('تعداد نام وارد شده در ردیف 1 با تعداد اتاق/صندلی وارد شده در ردیف 2 منطبق نمیباشد.')
		return false;
	} else {
		return true;	
	}
	
}

function calculatePrice()
{
	var totalsum = 0;
	$$('.pricerow').each(function(el) {
		if(el.getElementsBySelector('.chk')[0].checked && !el.hasClass('hidden')) {
			if(el.getElementsBySelector('.roomcount')[1])
				el.getElementsBySelector('.personcount')[0].value = intval(el.getElementsBySelector('.roomcount')[0].value) * intval(el.getElementsBySelector('.roomcapacity')[0].value);
			el.getElementsBySelector('.total')[0].value = intval(el.getElementsBySelector('.roomcount')[0].value) *  intval(el.getElementsBySelector('.roomprice')[0].value);
			totalsum += intval(el.getElementsBySelector('.total')[0].value);
		} else {
			el.getElementsBySelector('.personcount')[0].value = '';
			el.getElementsBySelector('.total')[0].value = '';
		}
	});
	$('totalsum').value = totalsum;
}

function ckeckboxCheck(obj)
{
	obj.getParent().getParent().getElementsBySelector('INPUT, SELECT').each(function(el){
		if(el!=obj)
			el.disabled = !obj.checked;
	});	
}

function catchHotels()
{
	var hotels = [];
	var name, index;
	$$('.xhotelid').each(function(el)
	{
		var ambigus;
		ambigus = 0;
		if(!el.selectedIndex)
			return 0;
		name = el.getElementsBySelector('OPTION')[el.selectedIndex].innerHTML;
		index = el.getValue();
		hotels.forEach(function(ar)
		{
			if(index==ar[0]) ambigus=1;
		});
		if(!ambigus) hotels.extend(Array(Array(index,name)));
	});
	if(!hotels.length)
		return 0;
	$$('.hotels').each(function(el)
	{
		var text = "<option value=''></option>";
		hotels.forEach(function(arr)
		{
			var selected = (el.getValue()==arr[0])? "selected='selected'" : "";
			text += "<option value='"+arr[0]+"' "+ selected +">"+arr[1]+"</a>";
		})
		el.innerHTML = text;
	});
}

function doEditEx(obj, id, exmodule, extraCmd, section)			
{
	if(typeof(exmodule)!='undefined' && exmodule!=null) { 
		module = exmodule;
		if($('module')) $('module').value = module;
	}
	if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');
	extraCmd = (typeof(extraCmd) == 'undefined')?'':'&'+extraCmd;
	var cmd = id ? 'edit' : 'new';
	var id = id ? id : findID(obj);
	$('edit_box').style.top =  window.getSize().scroll.y+4+'px';
	$('edit_box').style.left = Math.max((window.getSize().size.x-$('edit_box').getSize().size.x)/2, 8)+'px';
//	resizeLoading();
//	$('loading').removeClass('hidden');
//	$('loadingBox').removeClass('hidden');
	new ajax('index.php?section='+section+'&module='+module+'&cmd='+cmd+'&id='+id+extraCmd, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
}


function checkCommaned()
{
	var cmd = document.location.href.split('#')[1];
	var id=0;
	if(!cmd)
		return;
	if(cmd.indexOf('_') != -1){
		id = cmd.split('_')[0];
		cmd = cmd.split('_')[1];
	}else{
		id = cmd;
		cmd = 'cmd=edit';
	}
	var module = document.location.href.split('module=')[1].split('&')[0].split('#')[0];
	var section = document.location.href.split('section=')[1].split('&')[0].split('#')[0];
//	var section = document.location.href.split('section=')[1].split('&')[0];
	if(cmd == "msg"){
		new ajax('index.php?module=msg&cmd=edit&btn=msg&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
	}
	else
		doEditEx(null, id, module, cmd, section);
}

function normalizeRows(classname)
{
	var cnt = 0;
	
	var rows = $$('.'+classname);
	var rowscount = rows.length;
	
	rows.each(function(el){
		cnt++;
		el.getElementsBySelector('.addBut, .remBut').each(function(elp){
			if(cnt<rowscount)
				elp[0].addClass('invisible');
			else
				elp[0].removeClass('invisible');

			if(rowscount<=1)
				elp[1].addClass('invisible');
			else
				elp[1].removeClass('invisible');
		});
	});
}

function findParent(obj,className)
{
	if($(obj))
		obj=$(obj);
	else
		return false;
	
	while(!obj.getParent().hasClass(className)){
		obj = obj.getParent();
	}
	
	return obj.getParent();
}