/*------------------------------------------------------------------------------------
 	Program Name            : Common JavaScript Functions
 	Created On            	: 14 Jan 2011
 	Created By            	: http://cyberquadsolutions.com, info@cyberquadsolutions.com
 	Note 		            : Some rights reserved. Please consult us
 							  before applying the code to your pages.
 /*------------------------------------------------------------------------------------*/

// JavaScript Document
function call(target_url,return_target_pos,getform,method,poststr,oncom_function,is_synchronous)
{	
	
	//----------------------------------------------
	//Get post parameter
	//----------------------------------------------
	if(!poststr)var poststr='';
	if(document.getElementById(getform))
	{
		poststr+=(poststr.substr(poststr.length-1,poststr.length-1)=='&')?'':'&';
		var form=document.getElementById(getform);
		for(var i=0;i<form.elements.length;i++)
		{
			if(form.elements[i].multiple&&form.elements[i].name)
			{
				var optval='';
				var opt=form.elements[i].options;
				for(var j=0;j<opt.length;j++)
				{
					if(opt[j].selected)
						optval+=opt[j].value+'~';
				}
				//optval=optval.substring(0,optval.length-2)
				poststr +=form.elements[i].name+'='+encodeURIComponent(optval);
			}
			else if(form.elements[i].type=='checkbox')
			{
				if(form.elements[i].name)
				{
					if(form.elements[i].checked)
						poststr +=form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);
					else
						poststr +=form.elements[i].name+'=';
				}
			}
			else if(form.elements[i].type=='radio')
			{
				if(form.elements[i].checked&&form.elements[i].name)
					poststr +=form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);
			}
			else if(form.elements[i].name)
			{
				poststr +=form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);
			}
			
			if(i!=form.elements.length-1&&form.elements[i].name)
				poststr+='&'
		}	
		
	}
	
	if(method=='get'||method=='GET')
	{
		if(target_url.indexOf('?')==-1)
			target_url+='?'+poststr;
		else
			target_url+='&'+poststr;
		poststr='';	
	}
		
	
	
	//----------------------------------------------
	//Preloader
	//----------------------------------------------
	
	
	if(return_target_pos) 
	{
		var tmp_innerHTML=document.getElementById(return_target_pos).innerHTML;
		
	}
	var connectionerror='';

	//----------------------------------------------
	//Creating connection request
	//----------------------------------------------
	
	var xmlhttp = false;
	if (window.XMLHttpRequest) 
	{ 
		xmlhttp = new XMLHttpRequest();if (xmlhttp.overrideMimeType) xmlhttp.overrideMimeType('text/html'); 
	} 
	else if (window.ActiveXObject) 
	{ 
		 try 
		 {
			  if (!(xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")))alert(connectionerror)
			  
		 } 
		 catch (e) 
		 {
			 try 
			 {
			   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			 } catch (e) {alert(connectionerror)}
		 }
	}
	
	//----------------------------------------------
	//Comunicating
	//----------------------------------------------
	
	 if(!is_synchronous)
	 	type=true;
	 else
	 	type=false;
	 
	 xmlhttp.open('POST', target_url, type);
	 xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	 xmlhttp.setRequestHeader("Content-length", poststr.length);
	 xmlhttp.setRequestHeader("Connection", "close");
	 xmlhttp.send(poststr);
	 xmlhttp.onreadystatechange = function()
	 {
		 if(xmlhttp.readyState == 2)
		 {
			 // xmlhttp.abort(); 
		 }
		
		 if (xmlhttp.readyState == 4) 
		 {
				//alert(xmlhttp.status)
				if (xmlhttp.status == 200) 
				{
					result = xmlhttp.responseText; 
					var jscode = "";
					var parts = result.match(/<script[^>]*>(.|\n|\t|\r)*?<\/script>/gi);
					if(parts){
						for(i=0;i<parts.length;i++){
							jscode += parts[i].replace(/<script[^>]*>|<\/script>/gi, "");
							result = result.replace(parts[i], "");
						}
					}						
					if(return_target_pos)
					{
						//alert('POST');
						if(document.getElementById(return_target_pos))
						document.getElementById(return_target_pos).innerHTML=result
						
					}
					if(oncom_function)
						oncom_function(result);
					if(jscode != "")
					{
						var incomingScript = document.createElement('SCRIPT');
						incomingScript.type = 'text/javascript'; 
						incomingScript.lang = 'javascript';
						incomingScript.defer = true;
						incomingScript.text = jscode;
						document.getElementsByTagName('head')[0].appendChild(incomingScript);
					}	
					//alert(document.getElementsByTagName('head')[0].innerHTML);
					
					
					xmlhttp=false;
				} 
				else
				{
					if(return_target_pos)
						document.getElementById(return_target_pos).innerHTML=tmp_innerHTML;
					//if(confirm('Network connection diconnected. Do you want to resend the request.'))
						//call(target_url,return_target_pos,getform,method,poststr,oncom_function,preloader)
					
					
					//if(debug)
					//document.write('<div style="padding-top:150px;font-family:tahoma; font-size:11px; color:#FF0000; font-weight:bold" align="center">An error have been occured while communicating with server, <br/><br/> Error 404 : URL ( '+target_url+' ) not found  <br/><br/> Post Parameter : '+poststr+'</div>')
				}
			}
	 };
	 return xmlhttp;
}
/*------------------------------------------------------------------------------------
 	Program Name            : Common JavaScript Functions
 	Created On            	: 14 Jan 2011
 	Created By            	: http://cyberquadsolutions.com, info@cyberquadsolutions.com
 	Note 		            : Some rights reserved. Please consult us
 							  before applying the code to your pages.
 /*------------------------------------------------------------------------------------*/

function ob(id)
{
	var obj
	if(obj = document.getElementById(id))	
		return obj;
	else
		return false;
}

function getRound(obj)
{
	return Math.round(obj*100)/100;
}

function selectAll(form_object,element_caption)
{
	var postr='';
	var element=form_object.elements;
	for(var i=0;i<element.length;i++)
	{
		if(element[i].name.indexOf(element_caption)!=-1)
		{
			element[i].checked='checked';		
		}
	}
}

function deselectAll(form_object,element_caption)
{
	var postr='';
	var element=form_object.elements;
	for(var i=0;i<element.length;i++)
	{
		if(element[i].name.indexOf(element_caption)!=-1)
		{
			element[i].checked=false;		
		}
	}
}


function browserH() 
{
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) 
	{
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} 
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
	{
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} 
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
	{
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return myHeight;
}

/*------------------------------------------------------------------------------------
 	Program Name            : Common JavaScript Functions
 	Created On            	: 14 Jan 2011
 	Created By            	: http://cyberquadsolutions.com, info@cyberquadsolutions.com
 	Note 		            : Some rights reserved. Please consult us
 							  before applying the code to your pages.
 /*------------------------------------------------------------------------------------*/

function isEmail(email)
{
	if(/^[a-zA-Z]([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email) == false)	
		return false;
	else 
		return true
}
function isNumaric(obj)
{
	var value=obj.value
	var corrected=''
	var temp='';
	for(i=0;i<value.length;i++)
	{
		temp=value.charAt(i);
		if('0'<=temp&&temp<='9')
		corrected+=temp;
	}
	obj.value=corrected;
}
function isFloat(obj)
{
	var value=obj.value
	var corrected=''
	var temp='';
	for(i=0;i<value.length;i++)
	{
		temp=value.charAt(i);
		if('0'<=temp&&temp<='9'||temp=='.')
		corrected+=temp;
	}
	obj.value=corrected;
}

