function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
    {
    
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
      	{		
      	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      	}
        catch(e){
		  alert ("Your browser does not support AJAX!");      
		}  
      }
    }
  return xmlHttp;
}




function fillContactUsFormModels() {
      var url = '/bbsc/jsp/getAllContactUsFormModels.jsp';
      var xmlhttp = new GetXmlHttpObject();
      if(xmlhttp){
      xmlhttp.open("GET",url,false);
      xmlhttp.send(null);
      var str = xmlhttp.responseText;
      myCells = str.split(":");
            
            
      }
}

function getIndustry() {
	var url = '/bbsc/jsp/getAllIndustries.jsp';
	var req1 = "<select class='border' style='width:180px;' name='XX_17_industry'>";
	var req2 = "</select>";
	var xmlhttp = new GetXmlHttpObject();
	if(xmlhttp){
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	var str = xmlhttp.responseText;		
	//alert(str);	
	document.write(req1+str+req2)
		
	}
}

function getMandatoryIndustry() {

	var url = '/bbsc/jsp/getAllIndustries.jsp';
	var req1 = "<select class='border' style='width:180px;' name='XX_17_industry' id='mandatory'>";
	var req2 = "</select>";
	var xmlhttp = new GetXmlHttpObject();
	if(xmlhttp){
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	var str = xmlhttp.responseText;		
	//alert(str);	
	document.write(req1+str+req2)
		
	}
}

function getCategoryOfIntesrest() {

	var url = '/bbsc/jsp/getCategoryOfIntesrest.jsp';
	var req1 = "<select class='border' style='width:180px;' name='XX_18_categoryofinterest'>";
	var req2 = "</select>";
	var xmlhttp = new GetXmlHttpObject();
	if(xmlhttp){
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	var str = xmlhttp.responseText;	

	document.write(req1+str+req2)
		
	}
}


function loadContactHeader() {
	var url = "/bbsccms/ext/eblasts/formtest/formaddinfo.shtml";

	var xmlhttp = new GetXmlHttpObject();
	
	if(xmlhttp){
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	var str = xmlhttp.responseText;

		if(str !='EOF') {

			var product = document.getElementById("product");
			if(product){
				product.innerHTML = str;		
			}
		}
	}
}
function check(s){
var nn = s.name;
var str = nn.substring(6,nn.length);

document.dataForm.elements[str].value = s.value ;
/*	var cnt = 0;
	for(i=0; i < document.dataForm.elements.length; i++)
		{
		 
			var type = document.dataForm.elements[i].type; 
	
	document.dataForm.var_surv_answer1.value =s; */
}
function checkbx(ch){
 var box = ch.name.substr(0,ch.name.lastIndexOf('_')+1);
           
                                var cnt=0,i=1;
                                var tot ='' ;

                                while(document.dataForm[box+i]) 
                                                {
                                                                if(document.dataForm[box+i].checked)
                                                                {
                                                                tot = tot + document.dataForm[box+i].value + ",";
                                                                }
                                                                i++;
                                                }
var str = box.substring(6,(ch.name.lastIndexOf('_')));   

document.dataForm.elements[str].value = tot.substring(0,tot.length-1);

}
function enablediv()
{


		if (document.getElementById) { // DOM3 = IE5, NS6 
		document.getElementById('subsection').style.visibility = 'visible'; 
		} 
		else
		{
				
			if (document.getElementByName) { // DOM3 = IE5, NS6 
			document.getElementByName('subsection').style.visibility = 'visible'; 
			} 
			else 
			{ 
				if (document.layers) { // Netscape 4 
				document.subsection.visibility = 'visible';
				//document.subsection.style.display = 'inline'; 
				} 
				else { // IE 4 
				document.all.subsection.style.visibility = 'visible'; 
				//document.all.subsection.style.display = 'inline'; 
				
				} 
			} 
		}	


}
function disablediv()
{

if (document.getElementById) { // DOM3 = IE5, NS6 
		document.getElementById('subsection').style.visibility = 'hidden';  
		  
		//document.getElementById('subsection').style.display = 'none';
		
		} 
		else
		{
			if (document.getElementByName) { // DOM3 = IE5, NS6 
			document.getElementByName('subsection').style.visibility = 'hidden'; 
			//document.getElementByName('subsection').style.display = 'none';
			} 
			else 
			{ 
				if (document.layers) { // Netscape 4 
				document.subsection.visibility = 'hidden';
				//document.subsection.style.display = 'none' ;
				} 
				else { // IE 4 
				document.all.subsection.style.visibility = 'hidden'; 
				//document.all.subsection.style.display = 'none'; 
				
				} 
			} 
		}	
	
}



function resetVariableFormData()  
{
var cnt = 0;
var rad_cnt = 0;
   for(i=0; i < document.dataForm.elements.length; i++)

    {
             var type = document.dataForm.elements[i].type; 
                    if(type =='hidden')

                      {

                       cnt = cnt+1;

                       }
                                      var name = document.dataForm.elements[i].name;
                                    if(type =='hidden' && name.indexOf("var_surv_answer")!=-1)

                                    {

                                                rad_cnt = rad_cnt+1;

                                    }

                        }

                        for(i=1; i <= cnt - (rad_cnt+1); i++)

                        {

                                    var ans = 'var_surv_answer' + i ;

                                    document.dataForm.elements[ans].value  = "";

                        }
}

function validateVariableFormData()  
{
var cnt = 0;
var rad_cnt = 0;
var errmesg = "";
	var errFlag = false;
	for(i=0; i < document.dataForm.elements.length; i++)
		{
		 	var type = document.dataForm.elements[i].type; 
			var name = document.dataForm.elements[i].name;
			if(type =='hidden')
			{
					if(name.indexOf("formurl")!=-1){
					continue;
					}else{
					cnt = cnt+1;
					}

			}
			
			if(type =='hidden' && name.indexOf("var_surv_answer")!=-1)
			{
				
				rad_cnt = rad_cnt+1;
			}

		}
		
			
		var str = "";	
		for(i=1; i <= cnt - (rad_cnt+1); i++)
		{
			var ans = 'var_surv_answer' + i ;
			var qts = 'var_surv_question' + i ;
			
			//var multvalues=
			//alert(ans);
			var tmpmulStr = "";
			var tempmulti=document.dataForm.elements[ans];		
			for(k=0;k<tempmulti.length;k++)
						{
							if(tempmulti.options[k].selected)
							{
								tmpmulStr = tmpmulStr+tempmulti.options[k].value;
								//tmpmulStr=tmpmulStr+"";
							}
							
			}
			if(tmpmulStr == "")
			{
				tmpmulStr=document.dataForm.elements[ans].value;
			}
			if(document.dataForm.elements[ans].id.indexOf("mandatory")!=-1){
					if (isEmpty(tmpmulStr))
					{ 
						str=document.dataForm.elements[qts].value;
						errmesg += "You Must Input " + str +"\n";
					}else{
						if(document.dataForm.elements[ans].type == 'text' || document.dataForm.elements[ans].type == 'textarea'){
							if (specialCharHandle(document.dataForm.elements[ans].value))
								{
									str=document.dataForm.elements[qts].value;
									errmesg += "You Must Not Input Special characters in " + str +"\n";
								}
						
						}				
					
					}
										
			}

		}
		
return errmesg;

}


function iframeHtml(id)
{
	//var innerText = document.all["frmsection"].innerHTML;
	//alert(innerText);
	
	parent.disablediv();
	var formID = id;

	document.dataForm.formID.value = formID;

	temp="<iframe id='subformframe' name='subformframe' src='/bbsc/SearchContactusForm?formID="+formID+"' width='600px' FRAMEBORDER='0' scrolling='no'></iframe>";

	
	if(document.dataForm.meta[0].checked==true){
	document.getElementById("frmsection").innerHTML = temp;
	//document.getElementById("subformframe").height=null 
    document.getElementById("subformframe").height=780;
	enablediv();
	refreshiframes();
	}
	if(document.dataForm.meta[1].checked==true){
	document.getElementById("frmsection").innerHTML = temp;

    document.getElementById("subformframe").height=550;
	enablediv();
	refreshiframes();
	}
}

function usaform()
{
	disablediv();
	temp="<iframe id='subformframe' name='subformframe' src='/bbsc/jsp/forms/subformnew.jsp' width='600px' FRAMEBORDER='0' scrolling='no' onload='resize_iframe()'></iframe>";
	document.all['frmsection'].innerHTML = temp;
}
function regform()
{
	disablediv();
	temp="<iframe id='subformframe' name='subformframe' src='/bbsc/jsp/forms/registrationform.jsp' width='600px' FRAMEBORDER='0' scrolling='no' onload='resize_iframe()'></iframe>";
	document.all['frmsection'].innerHTML = temp;
}

function international() 
{
parent.disablediv();
top.location="http://pro.sony.com/bbsc/ssr/services.contact.bbsccms-services-contact-sonyinternationaloffices.shtml";
}

function validateContactForm()
{
assignFields();
parent.subformframe.document.contactdataForm.formID.value=document.dataForm.formID.value; 
var ermsg = "";
if(parent.subformframe.document.contactdataForm.formname.value == 'fixedform'){
ermsg = parent.subformframe.validateContactFormData();
}else if(parent.subformframe.document.contactdataForm.formname.value == 'subregform'){
	ermsg = parent.subformframe.validateSubFormData();
}// begin - added for VAIO forms project
else if(parent.subformframe.document.contactdataForm.formname.value == 'limitedfieldform'){

    var ermsg2 = assignFixedOptionalFields();
	ermsg = parent.subformframe.validateLimitedFieldFormData();
	ermsg = ermsg + ermsg2;
}// end - added for VAIO forms project
else{

ermsg = parent.subformframe.validateRegFormData();
}
var ermsg1 = validateVariableFormData();

var valid = ermsg + ermsg1;
if(valid.length > 0)
{
	//alert('tst- 1 before');
	document.dataForm.verificationCode.value="";
	//document.getElementById('captchaimg').src='/bbsc/jcaptcha?\'+Math.random();';
	//document.dataForm.verificationCode.focus();
	//alert('tst- 1'+document.getElementById('captchaimg'));
	alert(valid);
											
}
else
{
      	var xmlHttp = new GetXmlHttpObject();
		xmlHttp.open("POST",'/bbsc/captchavalidator',true); 
		var respfld = document.dataForm.verificationCode.value;
		parametriScript="verificationCode="+respfld;
		xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
		xmlHttp.setRequestHeader("Content-length",parametriScript.length);
		xmlHttp.setRequestHeader("Connection", "close"); 

		
		
		//alert('test-3');
		xmlHttp.send(parametriScript); 
				xmlHttp.onreadystatechange=function(){ 
						if(xmlHttp.readyState==4){ 
								var newtest=xmlHttp.responseText.toString();
		//						alert(newtest);
								if(xmlHttp.status == 200){ 
										if(newtest.indexOf("true") != -1){
											window.frames['subformframe'].document.contactdataForm.submit();
										} 
										else{
											alert("The characters you entered didn't match the word verification. Please try again.");
											document.dataForm.verificationCode.value="";
											//captchaframe.location.replace('/ContactUsForm/jcaptcha?\'+Math.random();');
											document.getElementById('captchaimg').src='/bbsc/jcaptcha?\'+Math.random();';
											document.dataForm.verificationCode.focus();
										}
								} 
						} 
				}

}
}
function refreshiframe() 
    { 
    		//captchID.location.replace('/bbsc/jsp/forms/captcha.jsp');
			//captchID.location.reload('jsp/forms/captcha.jsp');
    	            
    } 

function refreshiframes() 
    { 
    	//parent.captchframe.location.href="generateCaptcha.jsp";
		//document.dataForm.XX_21_captach.value="";
    	//captchframe.location.replace('/bbsc/jsp/forms/generateCaptcha.jsp');
		//captchframe.location.reload('jsp/forms/generateCaptcha.jsp');
    	setTimeout("refreshiframe()",1000);
        
    } 
function resetForm()
{
if(parent.subformframe.document.contactdataForm.formname.value == 'fixedform'){
parent.subformframe.resetFormData();
}
// begin - added for VAIO forms project
else if(parent.subformframe.document.contactdataForm.formname.value == 'limitedfieldform'){
parent.subformframe.resetLimitedFormData();
}// end - added for VAIO forms project
else{
parent.subformframe.resetRegForm();
}

}

// begin - added for VAIO forms project

function moveToNextField(currentField, nextField, len) {
var letters = document.dataForm.elements[currentField].value.length + 1;
	if(letters <=len) {
		document.dataForm.elements[currentField].focus();
	} else {
		document.dataForm.elements[nextField].focus();
	}
}

function assignFixedOptionalFields(){

  var errmsg = "";
  var isCategOfIntrst = false;
  var isModel = false;
 	for(i=0; i < document.dataForm.elements.length; i++)  
 	{
 	 var name = document.dataForm.elements[i].name;
 	 var fieldNm = "";
 	 var inTyp = 'Input ';
 	  if(name.indexOf("XX_17_industry")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_17_industry.value=document.dataForm.XX_17_industry.value; 
	    fieldNm = 'Industry';
	    inTyp = 'Select ';
	  }
 	  else if(name.indexOf("XX_title")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_20_title.value=document.dataForm.XX_title.value; 
	    fieldNm = 'Title';
	    
	  }
	  else if(name.indexOf("XX_street1")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_03_street.value=document.dataForm.XX_street1.value;
	    fieldNm = 'Address'; 
	     
	  }
	  else if(name.indexOf("XX_street2")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_04_street2.value=document.dataForm.XX_street2.value; 
	    fieldNm = 'Address 2'; 
	  }
	  else if(name.indexOf("XX_city")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_05_city.value=document.dataForm.XX_city.value;
	    fieldNm = 'City';  
	  }	  
	  else if(name.indexOf("XX_state")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_06_state.value=document.dataForm.XX_state.value; 
	    fieldNm = 'State'; 
	    inTyp = 'Select ';
	  }
	  else if(name.indexOf("XX_zip1")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_07_zip1.value=document.dataForm.XX_zip1.value; 
	    parent.subformframe.document.contactdataForm.XX_07_zip2.value=document.dataForm.XX_zip2.value; 
	    fieldNm = 'Zip'; 
	  }
	  else if(name.indexOf("XX_phone1")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_08_phone1.value=document.dataForm.XX_phone1.value; 
	    parent.subformframe.document.contactdataForm.XX_08_phone2.value=document.dataForm.XX_phone2.value; 
	    parent.subformframe.document.contactdataForm.XX_08_phone3.value=document.dataForm.XX_phone3.value;
	    fieldNm = 'Phone';  
	  }
	  else if(name.indexOf("XX_fax1")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_08_fax1.value=document.dataForm.XX_fax1.value; 
	    parent.subformframe.document.contactdataForm.XX_08_fax2.value=document.dataForm.XX_fax2.value; 
	    parent.subformframe.document.contactdataForm.XX_08_fax3.value=document.dataForm.XX_fax3.value; 
	    fieldNm = 'Fax'; 
	  }
	  else if(name.indexOf("model")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.model.value=document.dataForm.model.value; 
	    fieldNm = 'Product of interest'; 
	    isModel= true;
	    
	    if(isCategOfIntrst && isEmpty(document.dataForm.XX_18_categoryofinterest.value) 
	       && isEmpty(document.dataForm.model.value)){
	      errmsg +="Select at least one in Category of interest/Product of interest \n";
	    }
	  }
	  else if(name.indexOf("XX_18_categoryofinterest")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_18_categoryofinterest.value=document.dataForm.XX_18_categoryofinterest.value;
	    fieldNm = 'Category of interest'
	    inTyp = 'Select ';
	    isCategOfIntrst = true;
	    	    
	    if(isModel && isEmpty(document.dataForm.XX_18_categoryofinterest.value) 
	       && isEmpty(document.dataForm.model.value)){
	      errmsg +="Select at least one in Category of interest/Product of interest \n";
	    }
	  }
	  else if(name.indexOf("XX_optin")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_21_optin.value=document.dataForm.XX_optin.value; 
	  }
	  else if(name.indexOf("XX_description")!=-1)
	  {
	    parent.subformframe.document.contactdataForm.XX_14_description.value=document.dataForm.XX_description.value; 
	    fieldNm = 'Feedback'
	  }
	  
	  
	  
	   if(name.indexOf("XX_")!=-1 && document.dataForm.elements[name].id == "mandatory"){
			
			if (isEmpty(document.dataForm.elements[name].value))
			{ 						
			  errmsg+= "You Must " +inTyp + fieldNm +"\n";
			}
										
	    }
	    
	  
 	}
 	
 	return errmsg;
}
// end - added for VAIO forms project

function assignFields(){
var cnt = 0;
var rad_cnt = 0;
	for(i=0; i < document.dataForm.elements.length; i++)  
		{
		 
			var type = document.dataForm.elements[i].type; 
			var name = document.dataForm.elements[i].name;
			if(type =='hidden')
			{
					if(name.indexOf("formurl")!=-1){
					continue;
					}else{
					cnt = cnt+1;
					}
			}
				//		alert("cnt" + cnt);
           // cnt = cnt-1;
			if(type =='hidden' && name.indexOf("var_surv_answer")!=-1)
			{
				
				rad_cnt = rad_cnt+1;
			}
			//alert("radio button name"+document.dataForm.elements[i].name);
			//alert("rad_cnt" + rad_cnt);
			
			
			

		}
		
		parent.subformframe.document.contactdataForm.verificationCode.value=document.dataForm.verificationCode.value;
		parent.subformframe.document.contactdataForm.formurl.value=document.dataForm.formurl.value;
		for(i=1; i <= cnt - (rad_cnt+1); i++)
		{
			var eltype = document.dataForm.elements[i].type;
			
			var qn = 'var_surv_question' + i ;
			var ans = 'var_surv_answer' + i ;
			var ansdest = 'var_surv_answer_dest' + i ;

			
	
			var multiSelctedStr="";
			if(document.dataForm.elements[ans].multiple)
			   {
			   	   var objMultiSel ;
			   	    objMultiSel = document.dataForm.elements[ans];

			   	   if((document.dataForm.elements[ansdest]!=undefined) )
				   {
				   	var selCount = selectedOptionCount(document.dataForm.elements[ansdest]);
				   	if(selCount>0)
				    objMultiSel = document.dataForm.elements[ansdest];
				   }

				   multiSelctedStr = getSelectedItems(objMultiSel);

			}
			else if(document.dataForm.elements[ans].multiple==undefined)
			{

				multiSelctedStr = document.dataForm.elements[ans].value;
				multiSelctedStr=multiSelctedStr.replace("@","-");
			}
			else if(document.dataForm.elements[ans].type == "text" || document.dataForm.elements[ans].type == "hidden")
			{
				
			    multiSelctedStr = document.dataForm.elements[ans].value;
				multiSelctedStr=multiSelctedStr.replace("@","-");
				
			}
			else
			{
				
			multiSelctedStr = getSelectedItems(document.dataForm.elements[ans]);
			}
			
			parent.subformframe.document.contactdataForm.elements[ans].value  = document.dataForm.elements[qn].value  + "|" + multiSelctedStr;
						
						

		
	}	
		
}

function getSelectedItems(objMultiSel)
  {

    	var tmpStr = "";
					
						for(k=0;k<objMultiSel.length;k++)
						{
							if(objMultiSel.options[k].selected)
							{
								tmpStr = tmpStr+objMultiSel.options[k].text;
								tmpStr=tmpStr+",";
							}
							
		}
					multiSelctedStr = tmpStr.substring(0,((tmpStr.length)-1));
					
					return multiSelctedStr;
		
  }
function selectedOptionCount(lstBox)
{

 var optCount = 0;
  for(k=0;k<lstBox.length;k++)
	{
	if(lstBox.options[k].selected)
		{
			optCount = optCount+1;
		}
	
}

	return optCount;

}

function resize_iframe(){ 

if (document.getElementById) {

			enablediv();
			refreshiframes();
		
            document.getElementById("subformframe").height=null 

            document.getElementById("subformframe").height=window.frames["subformframe"].document.body.scrollHeight-25

}else{ 

            if (document.getElementByName) {
						enablediv();
						refreshiframes();

                        document.getElementByName("subformframe").height=null 

                        document.getElementByName("subformframe").height=window.frames["subformframe"].document.body.scrollHeight-25

            }

}

}

function isEmpty(strVal){
    var result = false;
   if ( strVal.length == 0)
      result = true ;
  return result;
}
function specialCharHandle(str)
{
var iChars = "!@#$%^&*()+=[]\\\'/{}|\":<>?";
 for (var i = 0; i < str.length; i++) {
  	if (iChars.indexOf(str.charAt(i)) != -1) { 
  	//alert ("Sorry special characters are not allowed!");
  	return true;
  	}
  }
}
