var ERR_COLOR = "#FDD017";
var OK_COLOR = "White";

function openpop(url,lowidth,loheight)
{
	popup = window.open(url,"","width=" + lowidth + ",height=" + loheight + ",resizable=yes,scrollbars=yes");
}

function CheckAll()
{
	for (var i=0;i<document.myform.elements.length;i++)
   	{
   		var e = document.myform.elements[i];
   		if (e.name != 'allbox')
     		e.checked = document.myform.allbox.checked;
   	}
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	
	try {
	// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
	// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
} 

function SaveData(frm)
{
	var xmlHttp = GetXmlHttpObject();	

	var data = "";
	for(var i=0; i < frm.elements.length; i++)
	{
		if (frm.elements[i].type == "radio")
		{
			if (! frm.elements[i].checked) continue;
		}

		if (frm.elements[i].type == "checkbox")
		{
			if (! frm.elements[i].checked) continue;
		}

		data += frm.elements[i].name+"="+escape(frm.elements[i].value);
		data += "&";
	}	
	
	if(xmlHttp.readyState ==3) 
	{
		alert("Application is busy. Wait for a moment");
		return false;
	}

	xmlHttp.open("POST", frm.action, true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	xmlHttp.send(data);
	
	xmlHttp.onreadystatechange = function() 
	{
		if(xmlHttp.readyState==4) 
		{
			//alert(xmlHttp.responseText);
			Save_FeedBack(xmlHttp.responseText, frm);
		}
	}
}

function SaveData1(u)
{
	var xmlHttp = GetXmlHttpObject();	

	if(xmlHttp.readyState ==3) 
	{
		alert("Application is busy. Wait for a moment");
		return false;
	}

	xmlHttp.open("GET", u, true);
	xmlHttp.send(null);
	
	xmlHttp.onreadystatechange = function() 
	{
		if(xmlHttp.readyState==4) 
		{
			//alert(xmlHttp.responseText);
			CloseProgress();
			
			var resps = xmlHttp.responseText.split("\1");
			
			if (resps[1] == '1')
			{
				ShowAlert(1, resps[2]);
			}
			else
			{
				ShowAlert(0, resps[2]);
			}
			
		}
	}
}

	function Save_FeedBack(resp, frm)
	{					
		CloseProgress();
		//alert(resp);
		var resps = resp.split("\1");
		
		if (resps[1] == '1')
		{
			var err_fields = resps[2].split("\2");
			
			for(var i=0; i < frm.elements.length; i++)
			{
				var found = false;
				for(var j=0; j < err_fields.length; j++)
				{
					if (err_fields[j] == frm.elements[i].name)
					{
						found = true;
						break;
					}										
				}				
				
				if (found)
				{
					frm.elements[i].style.backgroundColor = ERR_COLOR;
				}
				else
				{
					frm.elements[i].style.backgroundColor = OK_COLOR;
				}				
			}			
			
			ShowAlert(1, resps[3]+"");
		}
		else				
		{
			for(var i=0; i < frm.elements.length; i++)
			{
				frm.elements[i].style.backgroundColor = OK_COLOR;
			}
			
			ShowAlert(0, resps[2]+"");
			//alert(resps[4]);
			if (resps[3] == 1)
			{
				location.href = resps[4];
				return;
			}
		}		
	}

function CleanField(jObj){
	if(jObj.length > 0) {
		for(i=0;i< jObj.length;i++){
			$('#'+jObj[i]).css({'background-color' : 'white'});
		}
	}
}

function SetErrorField(jObj){
	if(jObj.length > 0) {
		for(i=0;i< jObj.length;i++){
			$('#'+jObj[i]).css({'background-color' : '#ffe3e3'});
		}
	}
}

function ShowMessageCommon(msgText){
	var message_error = msgText.message;
	var message_type = msgText.message_type;
	
	CleanField(msgText.field_list);
    if(message_type != 'no_error'){
		SetErrorField(msgText.error_field);
        if($('.mover').html().length > 0){
			$('.mover').slideUp("normal", function () {
				 $('.mover').html('<div class="flash error">'+message_error+'</div><hr />');
			     $('.mover').slideDown("normal");
	   		});
	   	}else {
	   		$('.mover').html('<div class="flash error">'+message_error+'</div><hr />');
		    $('.mover').slideDown("normal");
	   	}
	   	HideLoading();
		//window.location.href= "#contact-pos";
		$('body').scrollTo('#contact-pos');
	}else{
		/* display success message */
	   if($('.mover').html().length > 0){
			$('.mover').slideUp("normal", function () {
				 $('.mover').html('<div class="flash notice">'+message_error+'</div><hr />');
			     $('.mover').slideDown("normal");
	   		});
	   	}else {
	   		$('.mover').html('<div class="flash notice">'+message_error+'</div><hr />');
		    $('.mover').slideDown("normal");
	   	}
	   	HideLoading();
		//window.location.href= "#contact-pos";
		$('body').scrollTo('#contact-pos');
	
	}
  return;
   
}

function showMessageError(Msg,MsgType,dvShow,dvPos,addStr){
	if($(dvShow).html().length > 0){
		$(dvShow).slideUp("normal", function () {
			 $(dvShow).html('<div class="flash '+MsgType+'">'+Msg+'</div>'+addStr);
		     $(dvShow).slideDown("normal");
		});
	}else {
		$(dvShow).html('<div class="flash '+MsgType+'">'+Msg+'</div>'+addStr);
	    $(dvShow).slideDown("normal");
	}
	if(dvPos != '' ){
		$('body').scrollTo(dvPos);
  	}
  	return;
}


// HTML enocding string
function htmlEncode(string)
{
  string = string.replace(/\&/g, "&amp;");
  string = string.replace(/>/g, "&gt;");
  string = string.replace(/</g, "&lt;");
  string = string.replace(/\"/g, "&quot;");
  string = string.replace(/\'/g, "&#39;");

  return string;
}

// HTML decoding string
function htmlDecode(string)
{
  string = string.replace(/\&gt;/g, ">");
  string = string.replace(/\&lt;/g, "<");
  string = string.replace(/\&quot;/g, "\"");
  string = string.replace(/\&#039;/g, "'");
  string = string.replace(/\&#39;/g, "'");
  string = string.replace(/\&apos;/g, "'");
  string = string.replace(/\&amp;/g, "&");

  return string;
}

function ShowLoading(){
		$('#submit-btn').hide();
		$('#loading-con').show();
}

function HideLoading(){
		$('#loading-con').hide();
		$('#submit-btn').show();
}

function is_valid_file_extension(ext,ftype){
	if(ftype == "image") {
		if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
      		// check for valid file extension
	   		return false;
	   }
	}
	return true;
}

function is_valid_filename(str){
	//-- filename can not contain single/double quote or special char
	if (/(\'|\")+/.test(str)){ 
  		return false;
  	}
  	else {
	  //	if (/([A-Z]|[a-z]|[0-9]|_|-|\.|\s)+/.test(str)) 
	  		return true;//valid filename
	//	else  
	//		return false; //invalid filename
		
	}
	return true;
}