// JavaScript Document

// ----------- Contact Us ------------
// -----Developed by: Elham Esmaieli & Babak Shoar Ghadim
// -----Date: 08 April 2008


function checkEmailFormatUser(ID, formName)
{
	var strEmail = new String();
	/* Valid character for Email address */
	var	validChar =	new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','_','-','@','.');

	var strEmailLng, sw1=0, sw2=0, sw3=1, c1, c2, chInvalid='';

	strEmail = document.getElementById(ID).value;
	strEmail.toLowerCase();
	strEmailLng	= strEmail.length;
	if (document.getElementById(ID).value == '') return true;

	for (var count1=0 ; count1 < strEmailLng ; count1++){
		chInvalid = 'This character is Invalid';
		for (var count=0 ; count < (validChar.length) ; count++){
			if (strEmail.charAt(count1) == validChar[count])
				chInvalid = '';
		}
		if (chInvalid == 'This character is Invalid'){
			sw3	=	0;
			break;
		}
	}

	for (count=0 ; count < strEmailLng ; count++){
		if (strEmail.charAt(count) == '@'){
			sw1=1;
			c1=count;
		}
		if (strEmail.charAt(count) == '.'){
			sw2=1;
			c2=count;
			break;
		}
	}
	if (!((sw1 == 1) && (sw2 == 1) && (sw3 == 1) && (c1+1 < c2) && (c1 != 0) && (c2 != strEmailLng-1)))
	{
		return true
	}
	else
	{
		return false
	}
}

function validatingContactForm(){
	var formname = document.getElementById('name').value;
	var formphone = document.getElementById('phone').value;
	var formemail = document.getElementById('email').value;
	var formsubject = document.getElementById('subject').value;
	var formcomment = document.getElementById('comment').value;
	
	formname = trim(formname);
	formphone = trim(formphone);
	formemail = trim(formemail);
	formsubject = trim(formsubject);
	formcomment = trim(formcomment);

	if (formname == '')
		new Effect.Shake("namespan", {duration:1});
	if (formphone == '')
		new Effect.Shake("phonespan", {duration:1});
	if (formsubject == '')
		new Effect.Shake("subjectspan", {duration:1});
	if (formemail == '')
		new Effect.Shake("emailspan", {duration:1});
	if (formcomment == '')
		new Effect.Shake("commentspan", {duration:1});
	if (formname != '' && formphone != ''  && formsubject != '' && formcomment != '' && formemail != '')
	{	
		if ( checkEmailFormatUser('email', 'contactform') == false )
		{
			submitcontactform();
		}
		else
		{
			new Effect.Shake("emailspan", {duration:1});
		}
	}	
	
}

function checkName()
{
	var formname = document.getElementById('name').value;

	formname = trim(formname);

	if (formname == '')
		new Effect.Shake("namespan", {duration:1});
}

function checkPhone()
{
	var formphone = document.getElementById('phone').value;

	formphone = trim(formphone);

	if (formphone == '')
		new Effect.Shake("phonespan", {duration:1});
}

function checkEmail()
{

	var formemail = document.getElementById('email').value;

	formemail = trim(formemail);

	if (formemail == '')
		new Effect.Shake("emailspan", {duration:1});
	if (formemail != '')
	{
		if ( checkEmailFormatUser('email', 'contactform') == true )
		{
			new Effect.Shake("emailspan", {duration:1});
		}
	}
}

function checkSubject(){

	var formsubject = document.getElementById('subject').value;

	formsubject = trim(formsubject);

	if (formsubject == '')
		new Effect.Shake("subjectspan", {duration:1});
}

function checkComment(){

	var formcomment = document.getElementById('comment').value;

	formcomment = trim(formcomment);

	if (formcomment == '')
		new Effect.Shake("commentspan", {duration:1});
}

function trim(lstr)
{
    	return lstr.replace(/(^\s+)|(\s+$)/g,"");
}

function jsLTrim(lstr)
{
    	return lstr.replace(/(^\s+)/g,"");
}

function jsRTrim(lstr)
{
    	return lstr.replace(/(\s+$)/g,"");
}

function getXhttp()
{
    var ajax_request;

    if (  window.ActiveXObject  )  {
        var mSoftVersions = [
            'MSXML2.DOMDocument.5.0',
            'MSXML2.DOMDocument.4.0',
            'MSXML2.DOMDocument.3.0',
            'MSXML2.DOMDocument.2.0',
            'MSXML2.DOMDocument',
            'Microsoft.XmlDom',
            'Msxml2.XMLHTTP',
            'Microsoft.XMLHTTP'
        ];

        for (  i=0; i<mSoftVersions.length; i++  )  {
            try {
                ajax_request = new ActiveXObject (  mSoftVersions[i]  );
            }  catch (  e  )  {    }
        }
    }  else if (  !ajax_request && typeof XMLHttpRequest != 'undefined'  )  {
        try {
            ajax_request = new XMLHttpRequest;
        }  catch (  e  )  {    }
    }  else if (  !ajax_request && window.createRequest  )  {
        try {
            ajax_request = window.createRequest;
        }  catch (  e  )  {    }
    }  else  {
        ajax_request = false;
    }

    return ajax_request;
}

function submitcontactform_old()
{
    var xml = getXhttp( );
    if ( !xml )
       return false;

    xml.open('POST', 'docontact.asp');
    xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    var myname = document.getElementById('name').value;
    var myphone = document.getElementById('phone').value;
    var myemail = document.getElementById('email').value;
    var mysubject = document.getElementById('subject').value;
    var mycomment = document.getElementById('comment').value;
    var myaction = document.getElementById('comment').value;
    
    xml.send('name=' + myname + '&phone=' + myphone + '&email=' + myemail + '&subject=' + mysubject + '&comment=' + mycomment + '&action=' + myaction);

    Effect.Appear('messagediv');
	
    setTimeout("Effect.Fade('messagediv')", 5000);
	
    setTimeout("document.getElementById('name').value = ''", 2000);
    setTimeout("document.getElementById('phone').value = ''", 2000);
    setTimeout("document.getElementById('email').value = ''", 2000);
    setTimeout("document.getElementById('subject').value = ''", 2000);
    setTimeout("document.getElementById('comment').value = ''", 2000);
}

function submitcontactform()
{

	var myRequest;
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		myRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		myRequest = new ActiveXObject("Msxml2.XMLHTTP");
	}

    var myname = document.getElementById('name').value;
    var myphone = document.getElementById('phone').value;
    var myemail = document.getElementById('email').value;
    var mysubject = document.getElementById('subject').value;
    var mycomment = document.getElementById('comment').value;
    var myaction = document.getElementById('action').value;
    
    do
    {
		mycomment = mycomment.replace('\n','<br>')	
    }
    while(mycomment.indexOf('\n') != -1)
     
    var url = "docontact.asp?name=" + myname + "&phone=" + myphone + "&subject=" + mysubject + "&email=" + myemail + "&action=" + myaction + "&comment=" + mycomment;	
	
    myRequest.open("GET", url, true);
    myRequest.send(null);

    Effect.Appear('messagediv');
	
    setTimeout("Effect.Fade('messagediv')", 5000);
	
    setTimeout("document.getElementById('name').value = ''", 2000);
    setTimeout("document.getElementById('phone').value = ''", 2000);
    setTimeout("document.getElementById('email').value = ''", 2000);
    setTimeout("document.getElementById('subject').value = ''", 2000);
    setTimeout("document.getElementById('comment').value = ''", 2000);
    
}
