// Author: P.Praneeth

var request = null;
var resultBox = null;
var code = null;
var button = null;
var pp;
function createRequestObject(){
	var http_request = false;
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {
				http_request = false;
			}
		}
	}
	if (!http_request) {
		alert('Cannot create an XMLHTTP instance');
		return false;
	}
	return http_request;
}
function autoload(){
	var url = null;
	var params = null;
	var argv = autoload.arguments;
	if(argv[3] != "undefined")
		code = argv[3];
	request = createRequestObject();
	resultBox = argv[2];
		url = argv[0] + '?' + argv[1];
		request.open('GET',url, true);
	request.onreadystatechange = callback;
	request.send(params);
}
function callback(){
	if(request.readyState == 4){
		if(request.status == 200){
			var response = request.responseText;
			checkResultBox();
			if(document.getElementById(resultBox)!=null){
				document.getElementById(resultBox).innerHTML = response;
			}else{
				alert("Element with id='"+resultBox+"' doesn't exit");
			}
			code = "Cufon.replace('#mac,#mic,#addtocart', { hover: true,hoverables: { span: true}});";
			
			while (1) {
                var x = response.indexOf("<s"+"cript>");
                if (x != -1) {
                        y = response.indexOf("</"+"script>", x);
                        if (y != -1) {
                                code += response.substring((x+8),y);
                                if (typeof response == 'undefined') break;  // If message was eof() then we're now in a freed script
                                response = response.substring(y+9);
                        } else {

                                // Last message is incomplete.  Ignore it and it will be processed next time
                                break;
                        }
                } else {

                        // No more messages
                        break;
					}
			}
			
			if(code == null)
				return;
			if (window.execScript) {
				window.execScript(code);
				return;
			}
			var dj_global = this;
			dj_global.eval ? dj_global.eval(code) : eval(code);
		}
	}
}

function checkResultBox(){
	if(resultBox != "local_display_panel"){
		ge(resultBox).style.display = "block";
		ge("local_display_panel").style.display = "none";
	}
}

function formRequest(){
	var argv = formRequest.arguments;
	var form = document.getElementById(argv[1]);
	if(!validate(form))
		return null;
	if(argv[3] != "undefined")
		argv[3].disabled = true;
	button = argv[3];
	var params = getParams(form);
	autoload(argv[0],params,argv[2]);
}

function getParams(form){
	var params = form.elements[0].name+"="+form.elements[0].value;
	for(var i = 1;i<form.elements.length-1;i++)
		params += "&"+form.elements[i].name+"="+form.elements[i].value
	//alert(params);
	return params;
} 

function validate(form){
	var label;
	for(var i = 0;i<form.elements.length-1;i++){
		label = form.elements[i].name+"_error_"+form.id;
		if(form.elements[i].type=="hidden") continue;
		if(form.elements[i].value==""){
			document.getElementById(label).style.display="";
			form.elements[i].focus();
			return false;
		}
		if(form.elements[i].name=="email"){
			var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
			if(!pattern.test(form.elements[i].value)){   
				document.getElementById(label).style.display="";    
				document.getElementById(label).innerHTML = "Invalid Email ID"
				form.elements[i].focus();  
				return false;
			}
		}
		if(document.getElementById(label)!=null)
			document.getElementById(label).style.display="none"; 
	}
	return true;
}

function ge(str){
	return document.getElementById(str);
}

function clickMe123(){
	if(ge("faq_content")!=null){
		var h4 = ge("faq_content").getElementsByTagName("h4");
		for(var i=0;i<h4.length;i++){
			h4[i].onclick = function(event){
				if (window.event) 
					event = window.event; 
				var ele = event.srcElement ? event.srcElement.nextSibling.style : event.target.nextSibling.nextSibling.style;		
				if(ele.display == "none"){
					ele.display = "";
				}else{
					ele.display = "none";
				}
			}
		}
	}
}

function display_slideshow(){
	ge("slide123").style.height = screen.availHeight+"px";
	ge('slide123').style.display = "";
	ge('slideContainer').style.display = "";
	ge('slideContainer').innerHTML = slideshow("image", pp, 2000);
	ge('slideContainer').innerHTML += '<div onclick="closeWindow()" class="slide-close">X</div>';
}

function closeWindow(){
	ge('slide123').style.display = "none";
	ge('slideContainer').style.display = "none";
	ge('slideContainer').innerHTML = "";
	start_stop(0);
}

function getAvailableHeight(){
	 var viewportwidth;
	 var viewportheight;
	 
	 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	 
	 if (typeof window.innerWidth != 'undefined')
	 {
		  viewportwidth = window.innerWidth,
		  viewportheight = window.innerHeight
	 }
	 
	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

	 else if (typeof document.documentElement != 'undefined'
		 && typeof document.documentElement.clientWidth !=
		 'undefined' && document.documentElement.clientWidth != 0)
	 {
		   viewportwidth = document.documentElement.clientWidth,
		   viewportheight = document.documentElement.clientHeight
	 }
	 
	 // older versions of IE
	 
	 else
	 {
		   viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		   viewportheight = document.getElementsByTagName('body')[0].clientHeight
	 }
	 alert(screen.availHeight);
	 alert(window.screen.availHeight);
	 alert(viewportheight);
	 return viewportheight;

}

