var maintainModelName = "";
var textBoxesDefaultText = new Array();

function cleanDefaultText(obj){
	if (strTrim(obj.defaultValue)==strTrim(obj.value)){
		obj.value = "";
	}
}

function dumpDefaultText(obj){
	if(strTrim(obj.value)==""){
		obj.value = obj.defaultValue;
	}
}

function myAjaxRequest(obj, getWhat, additionalParam, populateWhat) {

	if (obj.type=='select-one'){
		if(obj.selectedIndex==0)
			return;
	}
    var xmlHttpReq = false;
    var self = this;
    var widSrc = document.getElementById('src').innerHTML;
  //  var strURL = "http://localhost/pb/source/index.php?act=widgetsource&";
	var strURL = "http://www.pricebook.in/testBuild2/index.php?act=widgetsource";
    

    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    strURL = strURL+"&widSrc="+widSrc;
	self.xmlHttpReq.open('GET', strURL+"&op="+getWhat+"&"+additionalParam, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
			var responseStr = self.xmlHttpReq.responseText;
			if(populateWhat!='screen'){
				var responseStrBits = responseStr.split(",");
				populateData(populateWhat, responseStrBits);
			}else{
				
                             if(responseStr){
				alert(responseStr);
				var contactme=document.getElementById('contactme').checked;
				if(contactme){
					//match and get the consumer list and set it to inner html of the below div
					getMatchingConsumers(obj,'getconsumers',additionalParam,populateWhat);
					
				}
				}else{
				alert('No Price Data Available for this Vehicle');	
				}



			
			}
        }
    }
    self.xmlHttpReq.send(null);
}

function extractDataFromArrayAndPopulate(sourceObj, destObjName){
	var destObj = document.getElementById(destObjName);
	if(sourceObj.selectedIndex==0){
		cleanSelectBox(destObj);
		return;
	}

	var sourceObjVal = sourceObj.options[sourceObj.selectedIndex].value;
	var dataArr = new Array();
	
	if(sourceObj.id=='category'){
		var strFormat = category[sourceObjVal];
		dataArr = strFormat.split(",");
	}else if(sourceObj.id=='make'){
		var catObj = document.getElementById('category');
		if (catObj.selectedIndex==0){
			return;
		}

		var catVal = catObj.options[catObj.selectedIndex].value;
		var strFormat = make[catVal+"-"+sourceObjVal];
		dataArr = strFormat.split(",");
	}else if(sourceObj.id=='model'){
		var makeObj = document.getElementById('make');
		if(makeObj.selectedIndex==0){
			return;
		}

		var makeVal = makeObj.options[makeObj.selectedIndex].value;
		var strFormat = model[makeVal+"-"+sourceObjVal];
		dataArr = strFormat.split(",");
	}else if(sourceObj.id=='variant'){
		var modelObj = document.getElementById('model');
		if(modelObj.selectedIndex==0){
			return;
		}

		var modelVal = modelObj.options[modelObj.selectedIndex].value;
		var strFormat = variant[modelVal+"-"+sourceObjVal];
		dataArr = strFormat.split(",");
	}
	
	populateData(destObjName, dataArr);
}

function strTrim(str) {
	return str.replace(/^\s+|\s+$/g, '');
}

function strProperCase(str) {
	return str.toLowerCase().replace(/^(.)|\s(.)/g, 
	function($1) { return $1.toUpperCase(); });
}

function cleanSelectBox(objRef){
	objRef.options.length=0;
	objRef.options[objRef.options.length]=new Option("* "+strProperCase(objRef.id),"* "+strProperCase(objRef.id));
}

function populateData(objName, dataArr){

	objRef = document.getElementById(objName);

	objRef.options.length=0;
	objRef.options[objRef.options.length]=new Option("* "+strProperCase(objName),"* "+strProperCase(objName));
	if(dataArr[0]==""){
		return;
	}
	
	var i=0;
	dataArr.sort();
	while(i < dataArr.length){
		objRef.options[objRef.options.length]=new Option(dataArr[i],dataArr[i]);
		i++;
	}
}
function numValidation(obj){
	var altAttributeArr = obj.getAttributeNode("alt").value.split("|");

	var numLimit = altAttributeArr[1] != "" ? altAttributeArr[1] : "1";
	var errMsg = obj.getAttributeNode("errMsg").value != "" ? obj.getAttributeNode("errMsg").value : "Enter some number";
	var returnValue = true;

	if(obj.value!=""){

		var regex1 = new RegExp( ( numLimit == '*' ) ? "^[\\d]{6}$" : "^[\\d]{" + parseInt( numLimit, 10 ) + "}$" );

		if(!regex1.test(obj.value)){
			returnValue = false;
		}
	}else{
		returnValue = false;
	}

	if(!returnValue){
		alert(errMsg);
		obj.focus();
	}
	
	return returnValue;
}

function selectValidation(obj){
	var errMsg = obj.getAttributeNode("errMsg").value != "" ? obj.getAttributeNode("errMsg").value : "Select some value.";
	var returnValue = true;

	if ( obj.selectedIndex == 0 ){
		returnValue = false;
	}

	if(!returnValue){
		alert(errMsg);
		obj.focus();
	}
	
	return returnValue;
}

function isValidForm(frm){
	var strElementTypes = "select,input";
	var arrElementTypes = strElementTypes.split(",");
	var frmElementsArr = new Array();
	var altValue = "";

	var returnValue = true;

	for(var i=0; i<arrElementTypes.length; i++){
		var tags = frm.getElementsByTagName(arrElementTypes[i]);
		for(var j=0; j<tags.length; j++){
			frmElementsArr.push(tags[j]);
		}
	}

	for(var i=0; i<frmElementsArr.length; i++){
		
		if(frmElementsArr[i].type=='text'){
			altValue = frmElementsArr[i].getAttributeNode("alt").value;
			if(altValue.substring(0,7)=="numeric"){
				returnValue = numValidation(frmElementsArr[i]);
			}
		}else if(frmElementsArr[i].type=='select-one'){
			returnValue = selectValidation(frmElementsArr[i]);
		}

		if(!returnValue){
			break;
		}
	}
	
	return returnValue;
}

function validateForm(){
	var frm = document.getElementById('pricetoolWidget');
	var tradeTypeValue = '';
	var urlParams = '';
	if(isValidForm(frm)){
		objTradeType = document.forms['pricetoolWidget'].elements['tradetype'];
		objContactMe = document.getElementById('contactme');

		for(var i = 0; i < objTradeType.length; i++) {
			if(objTradeType[i].checked) {
				tradeTypeValue = objTradeType[i].value;
			}
		}
		urlParams = 'model='+document.getElementById('model').options[document.getElementById('model').selectedIndex].value+'&variant='+document.getElementById('variant').options[document.getElementById('variant').selectedIndex].value+'&modelyear='+document.getElementById('modelyear').options[document.getElementById('modelyear').selectedIndex].value+'&pincode='+document.getElementById('pincode').value+'&mobileno='+document.getElementById('mobileno').value+'&category='+document.getElementById('category').options[document.getElementById('category').selectedIndex].value+'&make='+document.getElementById('make').options[document.getElementById('make').selectedIndex].value+'&cancontact='+objContactMe.checked+'&tradetype='+tradeTypeValue;
		myAjaxRequest(this,'getprice',urlParams,'screen');
	}
}

//get matching consumers in a string and return string
function getMatchingConsumers(obj, getWhat, additionalParam, populateWhat) {
	var responseStr="";
	
    var xmlHttpReq = false;
    var self = this;
    var widSrc = document.getElementById('src').innerHTML;
   // var strURL = "http://localhost/pb/source/index.php?act=widgetsource&";
	var strURL = "http://www.pricebook.in/testBuild2/index.php?act=widgetsource&";
    

    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    strURL = strURL+"&widSrc="+widSrc;
	self.xmlHttpReq.open('GET', strURL+"&op="+getWhat+"&"+additionalParam, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
			responseStr = self.xmlHttpReq.responseText;
			document.getElementById('widgetDiv').innerHTML='';
			document.getElementById('widgetDiv').innerHTML=responseStr;
        }
    }
   self.xmlHttpReq.send(null);
}


function sendConsumerSMS(obj) {
    var   getstr="&";
    
   var j=0;
      
    for (i=0; i<obj.getElementsByTagName("input").length; i++) {
        if (obj.getElementsByTagName("input")[i].type == "checkbox") {
           if (obj.getElementsByTagName("input")[i].checked) {
          j++;  
                 getstr += obj.getElementsByTagName("input")[i].name+" = "+obj.getElementsByTagName("input")[i].value + "&";
           } 
        }
          
      }
 
 
 if(j>7){
 
 alert("Check the MobileNo.'s  not more  than 7");
 
 }else{
 
 //alert(obj);
	var responseStr="";
	var getWhat= "sendConsumerMatches";
    var xmlHttpReq = false;
    var self = this;
    var widSrc = document.getElementById('src').innerHTML;
   // var strURL = "http://localhost/pb/source/index.php?act=widgetsource&";
var strURL = "http://www.pricebook.in/testBuild2/index.php?act=widgetsource&";
  //  var redirectURL= "http://localhost/pb/newmotorswidget1.htm";
    var redirectURL= "http://www.pricebook.in/newmotorswidget2.htm";

    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    strURL = strURL+"&widSrc="+widSrc;
	self.xmlHttpReq.open('GET', strURL+"&op="+getWhat+getstr, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
			responseStr = self.xmlHttpReq.responseText;
			alert(responseStr);
			location.href=redirectURL;
        }
    }
   self.xmlHttpReq.send(null);

}
}

function cancelRequest() {
//   var redirectURL= "http://localhost/pb/newmotorswidget1.htm";
   var redirectURL= "http://www.pricebook.in/newmotorswidget2.htm";
   
   location.href=redirectURL;
   
}
//Dialog box with javascript

function DialogBox(title, htmlContents) {

	var dialogBackground = document.createElement('div');
	dialogBackground.className = "dialogBackground";
	dialogBackground.setAttribute("id", "dialogBackground");
	var dialogBox = document.createElement('div');
	dialogBox.className = "dialogBox";
	dialogBox.setAttribute("id", "dialogBox");
	// create contents of the dialog box
	var dialogBoxContents = "";
	dialogBoxContents += "<table width='100%'><tr>";
	dialogBoxContents += "<td width='100%'>" + title + "</td>";
	dialogBoxContents += "<td><a href='' onclick='closeDialogBox();return false'>X</a></td>";
	dialogBoxContents += "</tr>";
	dialogBoxContents += "<tr>";
	dialogBoxContents += "<td>" + htmlContents + "</td>";
	dialogBoxContents += "</tr></table>";
	dialogBox.innerHTML = dialogBoxContents;
	document.body.appendChild(dialogBox);
	document.body.appendChild(dialogBackground);

}

function closeDialogBox() {
	document.body.removeChild(document.getElementById('dialogBackground'));
	document.body.removeChild(document.getElementById('dialogBox'));
}
