// JavaScript Document
$(document).ready(function(){
	
	$('.boxgrid.caption').hover(function(){
			$(".cover", this).stop().animate({top:'160px'},{queue:false,duration:160});
		}, function() {
			$(".cover", this).stop().animate({top:'220px'},{queue:false,duration:160});
	});

});

// Function for google analytics

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try {
var pageTracker = _gat._getTracker("UA-15412073-1");
pageTracker._trackPageview();
} catch(err) {}


//Function to validate and submit Quote Form

function submitQuote(){
		var error = "";
		var fname = jQuery.trim( $("#fname").val() );
		var phone = jQuery.trim( $("#phone").val() );
		var email = jQuery.trim( $("#email").val() );
		var detail = jQuery.trim( $("#detail").val() );
				
		if (!fname)	{
			error += "-Please enter your full name\n";
			$("#fname").css({'border-color':'#FF0000'});
			}
		//Checking the phone no
		if (!phone) {
			error += "-Please enter your Phone number\n";
			$("#phone").focus();
			$("#phone").css({'border-color':'#FF0000'});
			} else {	
					if(checkInternationalPhone(phone)==false) {
						error+= "-Please Enter a Valid Phone Number\n";
						$("#phone").focus();
						$("#phone").val('');
						$("#phone").css({'border-color':'#FF0000'});
					}
			}	
		// Checking Email Address
		if (!email) {
			error += "-Please enter your Email Address\n";
			$("#email").focus();
			$("#email").css({'border-color':'#FF0000'});
			} else {	
					if(!isValidEmailAddress(email)) {
						error += "-Please enter a valid Email Address\n";
						$("#email").focus();
						$("#email").val('');
						$("#email").css({'border-color':'#FF0000'});
					}
			}
		if (!jQuery.trim( $("#serviceList").val()) ) {
			error += "-Please select the Service name that you required\n";
			$("#serviceList").focus();
			$("#serviceList").css({'border-color':'#FF0000'});
		}
		if (!jQuery.trim( $("#Goal").val()) ) {
			error += "-Please enter goal of your website \n";
			$("#Goal").focus();
			$("#Goal").css({'border-color':'#FF0000'});
		}
		if (!jQuery.trim( $("#txtCaptcha").val()) ){
			error += "-Please Enter the text in the image \n";
			$("#txtCaptcha").focus();
			$("#txtCaptcha").css({'border-color':'#FF0000'});
		}
		if (error){
			alert("check errors:\n" + error);
			return false;
		}		
		var captcha = $("#txtCaptcha").serialize();	
		$.ajax({
			type: "post",
			data: captcha,
			url : "validateCaptcha.php",
			success : function(data){ 
					if (jQuery.trim(data) == "error"){						
						alert("Please Enter the text in the image");
						$("#txtCaptcha").val("");
						$("#txtCaptcha").focus();
						$("#txtCaptcha").css({'border-color':'#FF0000'});
						window.load("captcha.php");
						return false;
						
						} else {
					
						var dataStr = $("form#quoteForm").serialize();
						$.ajax({
							type: "post",
							data: dataStr,
							url : "quote.php",
							success : function(data){
									
									if (jQuery.trim(data))
										{		
											$("#Thanks").show();
											$("#errMessage").hide();
											$("#fname").val("");
											$("#address").val("");
											$("#phone").val("");
											$("#email").val("");
											$("#serviceList").val("");
											$("#requirements").val("");
											$("#im_details").val("");
											$("#txtChatID").val("");
											$("#Country").val("");
											$("#Goal").val("");
											$("#Website").val("");
											$("#txtCaptcha").val("");
											return false;
										} else {
											$("#errMessage").show();
											$("#Thanks").hide();
											return false;
									}
							}		
						});
					
					}
			}		
		});
		
		
	return false;	
}

//function to display the menu for testimonial

$(document).ready(function(){
		$('li.headlink').hover(
			function() { $('ul', this).css('display', 'block'); },
			function() { $('ul', this).css('display', 'none'); });
	});


var timeout         = 500;
var closetimer		= 0;
var ddmenuitem      = 0;

function jsddm_open()
{	jsddm_canceltimer();
	jsddm_close();
	ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');}

function jsddm_close()
{	if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{	closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{	if(closetimer)
	{	window.clearTimeout(closetimer);
		closetimer = null;}}

$(document).ready(function()
{	$('#jsddm > li').bind('mouseover', jsddm_open);
	$('#jsddm > li').bind('mouseout',  jsddm_timer);});

document.onclick = jsddm_close;


//Function to validate and post the Testimonial 


function submitTestimonial(){
	var error = "";
	var email = jQuery.trim( $("#testimoEmail").val());
	if(!jQuery.trim( $("#testimoName").val()))
		{
		error += "Please enter the Name\n";
		$("#testimoName").focus();
		}
	if(!jQuery.trim( $("#testimoMessage").val()))
		{
		error += "Please enter the Message\n";
		$("#testimoMessage").focus();
		}
	if (!email) {
			error += "-Please enter your Email Address\n";
			} else {	
				if(!isValidEmailAddress(email)) {
					error += "-Please enter a valid Email Address\n";
					$("#testimoEmail").focus();
					$("#testimoEmail").val('');
					}
				}
	if(error)
		{
		alert("Check error:\n" + error);
		return false;
		}
		
		var dataStr = $("form#Testimonial_form").serialize();
		$.ajax({
		type: "post",
		data: dataStr,
		url : "testimonial.php",
		success : function(data){
			if (jQuery.trim(data))
			{		
						$("#Thanks").show();
						$("#errMessage").hide();
						$("#testimoName").val("");
						$("#testimoMessage").val("");
						$("#testimoEmail").val("");
						$("#testimoCity").val("");
						$("#testimoState").val("");
						$("#testimoCountry").val("");
						$("#charCount").val("");
						return false;
					} else {
						$("#errMessage").show();
						$("#Thanks").hide();
						return false;
						}
			}		
		});
	return false;
}



// Function to check the valid Email

function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}



//	Function to limit the text in text area
function limtTextArea() {
	var textField = $("#testimoMessage").val();	
	var charLength = textField.length;
	$('span#charCount').html(charLength + ' of 150 characters used');
	if(charLength > 150)	{
		$('span#charCount').html('You may only have up to 150 characters.');
		$("#testimoMessage").val(textField.substring(0,150));
	}
}




// Fucntion to check/uncheck the select boxes

function selectAll(){
	$("#checkAll").click(function()
	 {
		var checked_status = this.checked;
		if (checked_status)
		{
			$('input[id=check]').attr('checked', 'checked');
			} else {
				$('input[id=check]').removeAttr('checked', 'checked');
			}
	 });
	
}



function subscribeNewsLetter(){
	if ( !jQuery.trim ($("#newsLetter_emailId").val()) ) 
		{
		alert("Please Enter Your email Id"); return false; 
		}
	var email = jQuery.trim ($("#newsLetter_emailId").val());
	
	
 	 if(isValidEmailAddress(email)){
	
		var dataStr = $("form#newsletter_subscriber").serialize();
				
		$.ajax({
			type:"POST",
			url:"subscribe.php",
			data:dataStr,
			success:function(data){
					var ret = data.split("##");
					if(ret[1] == 'success'){
						alert(ret[0]);
						$("#newsLetter_emailId").val('');
						}
					if(ret[1] == 'error'){
							alert(ret[0]);
							$("#newsLetter_emailId").val(email);
						}
					return false;
			}
			   
		});
	}
	else
	{
		alert("Please enter a valid email id");
		$("#newsLetter_emailId").val(email);
		$("#newsLetter_emailId").focus();
		return false;
	}
	return false;
}

/***
* function to clear the text on the text box 
*/
function clearDefault(id,value){	

	var keyVal = $("#"+id).val();

	if (keyVal == value)
		{
		$("#"+id).val('').removeClass("inputDefault");	
		}
	
}

/***
* function to add the text on the text box 
*/

function addDefault(id,value){	
	
	var keyVal = $("#"+id).val();
	if (keyVal == '')
		{
		$("#"+id).val( value ).addClass("inputDefault");	
		}
	
}


// Validate and submit Contact Us form
function submitContact(){
		//Do the validation
		var error = "";
		var name = jQuery.trim( $("#fullname").val());
		var email = jQuery.trim( $("#email").val());
		var phone = jQuery.trim( $("#phone").val());
		var message = jQuery.trim( $("#message").val());

		if (!name) {
			error += "-Please enter your full name\n";
			$("#fullname").focus();
		}
		if (!email) {
			error += "-Please enter your Email Address\n";
			$("#email").focus();
			} else {	
					if(!isValidEmailAddress(email)) {
						error += "-Please enter a valid Email Address\n";
						$("#email").focus();
						$("#email").val('');
					}
			}
		if (!phone) {
			error += "-Please enter your Phone number\n";
			$("#phone").focus();
			} else {	
					if(checkInternationalPhone(phone)==false) {
						error+= "-Please Enter a Valid Phone Number\n";
						$("#phone").focus();
						$("#phone").val('');
					}
			}
		if (!message) {
			error += "-Please enter your message\n";
			$("#message").focus();
		}
		if (error) {
			alert("Check errors:\n" + error);
			return false;
		}
		
		var dataStr = $("form#contactUsForm").serialize();
		$.ajax({
		type: "post",
		data: dataStr,
		url : "contact.php",
		success : function(data){
			if (jQuery.trim(data))
					{		
						$("#Thanks").show();
						$("#errMessage").hide();
						$("#fullname").val("");
						$("#email").val("");
						$("#phone").val("");
						$("#message").val("");
						//$("#form").hide();
						return false;
					} else {
						$("#errMessage").show();
						$("#Thanks").hide();
						//$("#form").hide();
						return false;
						}
			}		
		});
	return false;
}

// Declaring required variables for phone
	var digits = "0123456789";
	// non-digit characters which are allowed in phone numbers
	var phoneNumberDelimiters = "()- ";
	// characters which are allowed in international phone numbers
	// (a leading + is OK)
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 10;
	
	function isInteger(s) {   
		var i;
		for (i = 0; i < s.length; i++) {   
	    // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    	}
		// All characters are numbers.
		return true;
	}
	
	function trim(s) {   
		var i;
		var returnString = "";
		// Search through string's characters one by one.
		// If character is not a whitespace, append to returnString.
		for (i = 0; i < s.length; i++) {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
		}
		return returnString;
	}
	
	function stripCharsInBag(s, bag) {
		var i;
		var returnString = "";
		// Search through string's characters one by one.
		// If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}