// delete all
 var chk=document.getElementsByTagName('input');

function checkuncheckone()
{
	var check=true;
	for(i=0;i<chk.length;i++)
	{
		if(chk[i].name!='checkbox' && chk[i].type=='checkbox' && chk[i].checked==false)
		{
			//check=false;
//			alert("");
		}
	}
	document.members.checkbox.checked=check;
}

function checkuncheckAll()
{
	if(document.members.checkbox.checked==true)
	{
		for(i=0;i<chk.length;i++)
		{
		
			if(chk[i].type=='checkbox')
			{ 
			   chk[i].checked=true;
			}
		}
	}
	else
	{
		for(i=0;i<chk.length;i++)
		{
			if(chk[i].type=='checkbox')
			{
			   chk[i].checked=false;
			}
		}
	}
}

function checkAll()
{
	for(i=0;i<chk.length;i++)
	{
		if(chk[i].type=='checkbox')
		{
		   chk[i].checked=true;
		}
	}
}

function uncheckAll()
{
	for(i=0;i<chk.length;i++)
	{
		if(chk[i].type=='checkbox')
		{
		   chk[i].checked=false;
		}
	}
}
function ValidateForm(dml,chkName)
		{
			
			len = dml.elements.length;
			var i=0;
			for( i=0 ; i<len ; i++) 
			{
				if ((dml.elements[i].name==chkName) && (dml.elements[i].checked==1))
				{
					if(confirm("Do you want to complete action on it really!"))
					{
						return true;
					}
					return false;
				}
				
				
			}
			alert("Please select at least one record to complete action")
			return false;
		}

////////////movearea
var stack = new Array();
var i=0;
var chk;
function removeArea(area)
{ 

    var Areas = document.getElementsByName(area);
	var Area = Areas[0];
	
var value = Area.value;
if(i == 0){
  alert("Nothing Remained");
  return;
}  
  i--;
     if(chk && chk.checked)
	 {
	    Area.value = "";
		i=0;
	 }
	else
      Area.value = value.substring(0,stack[i]);
}
function selectAllList(chkbox,list,area)
{
	chk = chkbox;
	var Areas = document.getElementsByName(area);
	var Area = Areas[0];
	var Lists = document.getElementsByName(list);
    var List = Lists[0];
	Area.value = "";
	if(chkbox.checked == true)
	{
	  for(var lst=0;lst<List.length;lst++)
	      List[lst].selected = true;
    }
	else if(chkbox.checked == false)
	{
		for(var lst=0;lst<List.length;lst++)
		 List[lst].selected = false;
	}
	
}
function moveArea(list,area)
{
	var Areas = document.getElementsByName(area);
	var Area = Areas[0];
	var Lists = document.getElementsByName(list);
    var List = Lists[0];
	var text;
		/* if(i > 50)
		   {
			alert("Cannot select more than 50 email addresses");
			return;
			}*/
		 
		 var value = Area.value;
	
	   
	   for(var j = 0; j<List.length; j++)
	    {	
				value = Area.value;   
				if(List.options[j].selected)
				{  
					  
				   stack[i] = value.length;
				   if(stack[i] != 0 && (Area.value.indexOf(List.options[j].text))== -1)
						Area.value += ",";
				   if((Area.value.indexOf(List.options[j].text))== -1)	
				   {
				     
				      Area.value += List.options[j].text;
				      i++;
				   }
				   
				   
				  
				}		
         }//end for loop
   
	
	

}
////////////chkform
function chkform(myform)
{
   
   for(var i=0;i<myform.length;i++)
    {
       var valuemain = myform[i].id;
	   var mainary = valuemain.split(";");
	   for(var jmain=0; jmain<mainary.length;jmain++)
	   {
	   
	   var value = mainary[jmain];
	   var ary = value.split(",");
	   var mand = ary[0];
	   var valid = ary[1];
	   
	
	 if(mand == "*" )
	 {
	         if(myform[i].value == "")
					   {
				 
						  alert("Required Field!");	
						  myform[i].focus();
						  return false;
					   }	
					   
				 else if(valid && valid.toLowerCase() == "length")
				 {
					 var minn = ary[2];
					 var maxx = ary[3];
					 if(myform[i].value.length > maxx || myform[i].value.length < minn)
					 {
						 alert("Length Must Between "+minn+" and "+maxx);
						 myform[i].focus();
						 return false;
					 }
				 }
					   
			    else if(valid && valid.toLowerCase() == "name")
				{
					  
				   var minlength = ary[2];
				   var maxlength = ary[3];
				   
				  var obj = "^[A-Za-z_]{"+minlength+","+maxlength+"}$";
				   obj = new RegExp(obj);
				   var result = obj.test(myform[i].value);
				   
				   if(!result)
				   {
				     alert("Only Characters and Under_Score is allowed\n Total Length must between "+minlength+" and "+maxlength);
					 myform[i].focus();
					 return false;
				   }
				}
				
				else if(valid && valid.toLowerCase() == "email")
				{
				    
				   var result = validateEmail(myform[i].value);
				   if(!result)
				   {
				     alert("Email is not in proper format");
					 myform[i].focus();
					 return false;
				   }
				}
				/******************** phone format *************************/
				else if(valid  && valid.toLowerCase() == "format")
				{
					
				   var frmt = new String(ary[2]);
				   
				   
				   var obj ="^";
				   var count = 0;
				   var chr="";
				  
				   
				   for(var j = 0; j<frmt.length; j++)
				   {
					 var myval = frmt.substring(j,j+1);    
					 if(myval == "#")
					 {
						 obj += "[0-9]{1}";
					 }
					 else if(myval == "c")
					 {
						 obj += "[a-z]{1}";
					 }
					  else if(myval == "C")
					 {
						 obj += "[A-Z]{1}";
					 }
					  else if(myval.toLowerCase() == "x")
					 {
						 obj += "[A-Za-z]{1}";
					 } 
					 else if(myval == "[")
					 {
						 var temp;
						 while((temp = frmt.substring(j,j+1))!="]")
					     {
							 if(temp == "|")
							 {
								 j++;
								 var numchar = frmt.substring(j,j+1);
								 
							 }
							 else 
							   obj += temp;
							 j++;
						 }
						
						obj += "]";
						if(numchar == 0)
						  obj += "{0,1}";
						else 
						  obj += "{1}";
						  
						 
					 }
					 
					 else
					     obj += "["+myval+"]{1}";
				   }
				   obj += "$";
				   
				   obj = new RegExp(obj);
				   
				   
				   var result = obj.test(myform[i].value);
				  
				   if(!result)
				   {
				     alert("The format is "+frmt+"\nC = CAPITAL LETTER\nc = small letter\nx = small or CAPITAL Letter\n# = Digit");
					 myform[i].focus();
					 return false;
				   }
				}
				
			  else if(valid  && valid.toLowerCase() == "regexp")
			  {
				  var obj = new RegExp(ary[2]);
				  if(!obj.test(myform[i].value))
				  {
					  alert("Please Enter According to Format \n"+obj);
					  myform[i].focus();
					  return false;
				  }
			  }// else if(valid  && valid.toLowerCase() == "regexp")
	 }	// end for
	   }//end for
     
   }//end if
   
}//end function

function validateEmail(emailStr) 
{
	
 	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
	   //alert("Emailadres lijkt niet te kloppen(check @ and .'s)");
	return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			//alert("Gebruikersnaam bestaat uit ongeldige karakters.");
		return false;
	   }
	}
	
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			//alert("Domeinnaam bestaat uit ongeldige karakters.");
			return false;
	   }
	}


	if (user.match(userPat)==null) {
		//alert("Gebruikersnaam is onjuist.");
		return false;
	}


	var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
				//alert("ip adres is onjuist!");
				return false;
			   }	
		}
		return true;
	}

 
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			//alert("Domeinnaam is onjuist.");
			return false;
	   }
	}


	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		//alert("Het emailadres moet eindigen in met een bekend domeinnaam of twee letters " + "land.");
	return false;
  }


	if (len<2) {
		//alert("Het emailadres mist hostnaam!");
		return false;
	}
	
		return true;

}
//////////////////////////
/////////   Add and delete cart
function addCart(txt)
{
 
  var text = document.getElementsByName(txt);
  text[0].value = parseInt(text[0].value) + 1;
   if(text[0].value<1)
      text[0].value = 1; 
   
   
   }
function delCart(txt)
{
 
  var text = document.getElementsByName(txt);
  text[0].value = parseInt(text[0].value) - 1;
   if(text[0].value<1)
      text[0].value = 1; 
}

function validateCart(text)
{
    var obj = new RegExp("^\\d{1,}$");
    var res = obj.test(text.value);
    if(!res || text.value<1)
      text.value = 1; 
}
/////////// END 




function popUpWindow(URLStr, left, top, width, height)
{
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=yes,menub ar=no,scrollbar=yes,resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}



///////////show hide methods

function show_hide(key, checkme) {
var checkbox = 'bedroom_' + key + '_nb';
var div = 'bedroom_dropdown_' + key;
var lc = 'lc_' + key;
var rc = 'rc_' + key;
var td = 'bedroom_td_' + key;
var bvalue = 'bedroom_value_' + key;
if (checkme) {
if (document.getElementById(checkbox).checked == true) {
document.getElementById(checkbox).checked = false;
}
else {
document.getElementById(checkbox).checked = true;
}
}
if (document.getElementById(checkbox).checked) {
document.getElementById(div).style.display = '';
document.getElementById(lc).style.visibility = 'visible';
document.getElementById(rc).style.visibility = 'visible';
document.getElementById(td).style.background = '#e4e4e4';
document.getElementById(bvalue).style.fontWeight = 'bold';
}
else {
document.getElementById(div).style.display = 'none';
document.getElementById(lc).style.visibility = 'hidden';
document.getElementById(rc).style.visibility = 'hidden';
document.getElementById(td).style.background = '#ffffff';
document.getElementById(bvalue).style.fontWeight = '';
}
return true;
}

