﻿
function MoreInfo(message)
{
alert(message);
}
function ValidPhoneNumberFormat(phone)
{
  var telnum;
  telnum = phone;
  if (telnum.length < 10)  
  {
     return false
  }

/*
  telnum = telnum + " ";
  telnum.length = telnum.length - 1;
*/
 
  exp = /^(\+)[\s]*(.*)$/;
  if (exp.test(telnum) == true) {
     return false;
  }
  
  while (telnum.indexOf(" ")!= -1)  {
    telnum = telnum.slice (0,telnum.indexOf(" ")) + telnum.slice (telnum.indexOf(" ")+1)
  }
  
  while (telnum.indexOf("-")!= -1)  {
    telnum = telnum.slice (0,telnum.indexOf("-")) + telnum.slice (telnum.indexOf("-")+1)
  }  
  
  exp = /^[0-9]{10,11}$/
  if (exp.test(telnum) != true) {
     return false;
  }
  
  exp = /^0[0-9]{9,13}$/
  if (exp.test(telnum) != true) {
     return false;
  }
  
  return telnum;
}
function ValidPostcodeFormat(pc)
{
  while (pc.indexOf(" ")!= -1)  {
    pc = pc.slice (0,pc.indexOf(" ")) + pc.slice (pc.indexOf(" ")+1)
  }
  var pcexp = new Array ();

  pcexp.push (/^([a-z]{1,2}[0-9]{1,2})(\s*)([0-9]{1}[abcdefghjklmnpqrstuvwxyz]{2})$/i);

  pcexp.push (/^([a-z]{1,2}[0-9]{1}[a-z]{1})(\s*)([0-9]{1}[abcdefghjklmnpqrstuvwxyz]{2})$/i);
  
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);

  var postCode = pc;

  var valid = false;
  
  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
    
      pcexp[i].exec(postCode);
      
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      
      valid = true;
      
      break;
    }
  }
  
  if (valid) {return postCode;} else return false;
}


function showtext_Existingcustomer(x) 
{ 
     if (document.getElementById(x).style.display == 'none')

     {
          document.getElementById(x).style.display = '';
     }

}

function hidetext_Existingcustomer(x) 
{ 
     if (document.getElementById(x).style.display == '')

     {
          document.getElementById(x).style.display = 'none';
     }

}


function showtext(x) 
{ 
     if (document.getElementById(x).style.display == 'none')

     {
          document.getElementById(x).style.display = '';
     }

}

function showtextNew(x) 
{ 
     if (document.getElementById(x).style.display == '')

     {
          document.getElementById(x).style.display = 'none';
     }

}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

x = new Date();
xTime = x.getTime();
var kbps;
function markTime(actionMethod) 
{
	y = new Date();
	yTime = y.getTime();
	tTime = (yTime-xTime)/10000;
 
	kbps = Math.floor(5/tTime);
	eval(actionMethod + "(" + kbps + ")");
}

function getConnSpeed(actionMethod) 
{
	x=document.body.appendChild(document.createElement("img"));
	x.onload=function() { markTime(actionMethod); }
	x.width="1";
	x.height="1";
	x.src="images/speed_img.jpg?z=" + Math.floor(Math.random()*1000);
}

function handleRedirect(kbps) 
{
	if(kbps<50) 
	{
		var ExpireDate = new Date();ExpireDate.setTime(ExpireDate.getTime() + (30*24*3600*1000));document.cookie='ConnectionSpeed=modem;expires='+ExpireDate.toGMTString()+';path=/;domain=.mykindaplace.com;';
		document.stage1.speed.value = "Lo";
	} 
	else 
	{
		var ExpireDate = new Date();ExpireDate.setTime(ExpireDate.getTime() + (30*24*3600*1000));document.cookie='ConnectionSpeed=broadband;expires='+ExpireDate.toGMTString()+';path=/;domain=.mykindaplace.com;';
		document.stage1.speed.value = "Hi";
    	}
}

function popUpTC(URL) {

day = new Date();

id = day.getTime();

eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=419,left = 212,top = 174.5');");

}
function popUpPP(URL) {

day = new Date();

id = day.getTime();

eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=419,left = 212,top = 174.5');");

}

function closeWindow() {
	window.open('','_parent','');
	window.close();
}

function openSkyTalkTC() {
	window.open('talkterms.htm', 'talktermsconditions', 'width=415,height=210,history=no,resizable=no,status=no,scrollbars=yes,menubar=no')	
}



function checkform()
{
	strError = ''
	var telnum;
	var temptelnum;
	//var postcode;
	
    temptelnum = document.aspnetForm.ctl00$cntPlaceHolderMessage$txtPhone.value;
	telnum=temptelnum.replace(' ','')

    //postcode = document.aspnetForm.ctl00$cntPlaceHolderMessage$txtPostcode.value;
	
	if(telnum == '') {
		strError += "Please enter your home phone number\n"
	}
	else
	if (!ValidPhoneNumberFormat(telnum)){
		strError += "Please enter a valid home phone number\n"
	}


    if (telnum.length > 1)
    {
    
	    if (telnum.substring(0,2) == '07') 
	    {
		    strError += "Please enter a valid home phone number (not a mobile number)\n"
	    }
	    
    }	
    
    //strError += checkPostcode(postcode);
    

	if(strError == "") 
	{	
		return true;
	}
	else
	{
		alert(strError)
		return false;	
	}
}	

function checkPostcodeForm()
{
	strError = ''
	var postcode;
    postcode = document.aspnetForm.ctl00$cntPlaceHolderMessage$txtPostcode.value;
	
    strError += checkPostcode(postcode);
	if(strError == "") 
	{	
		return true;
	}
	else
	{
		alert(strError)
		return false;	
	}
}

function handleKeyPress(evnt) 
{
  	var iKeyCode;
		
	var key = window.event ? evnt.keyCode : evnt.which;
	if (key==13)
	{
	    //alert("Test");
	    //if (checkform())
	    //{
	        //return document.aspnetForm.submit();
	         //document.body.getElementByID('ctl00_cntPlaceHolderMessage_imgSubmit').click();
	        //var fireOnThis = document.getElementById('ctl00_cntPlaceHolderMessage_imgSubmit');
            //var evObj = document.createEvent('MouseEvents');
            //evObj.initEvent( 'click', true, true );
            //fireOnThis.dispatchEvent(evObj);
            //e = document.createEventObject();
            //document.getElementById("ctl00_cntPlaceHolderMessage_imgSubmit").fireEvent("onclick",e);
             //__doPostBack('aspnetForm','');
            //alert("Test");
        //    return false;
/*
	        var clickevent = document.createEvent("MouseEvents");
            clickevent.initEvent("click", true, true);
            document.getElementById("ctl00_cntPlaceHolderMessage_imgSubmit").dispatchEvent(clickevent);
*/	         
	         
	        //return true;
	    //}
	    //else
	    //{
	    //    return false;
	    //}
	    
	    //return false;
	    
        

	}

	/*	
		
	if(window.event) // IE
    {
        iKeyCode = evnt.keyCode
    }
    else if(evnt.which) // Netscape/Firefox/Opera
    {
        iKeyCode = evnt.which
    }
    
  	
  	if (iKeyCode == 13) 
  	{
  		alert("Test");
  		//document.aspnetForm.submit();
  		//document.aspnetForm.ctl00$cntPlaceHolderMessage$imgSubmit.click();
  	}
  	*/
}

function checkregform()
{
	strError = ""
	
	if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$ddlTitle.value == "x") {
		strError += "Please select your title\n"
	} 
	
	if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtFirst_Name.value == "") {
		strError += "Please enter your forename\n"
	}
	
	if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtSurname.value == "") {
		strError += "Please enter your surename\n"
	}
	
	if (document.aspnetForm.ctl00$ContentPlaceHolderBanner$hfPhoneRequired.value != "0") {
	    if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtPhone.value == "") {
		    strError += "Please enter your home phone number\n"
	    }
	    else
	        if (!ValidPhoneNumberFormat(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtPhone.value)) {
		        strError += "Please enter a valid home phone number \n"
	        }

	    if (Left(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtPhone.value,2) == "07") {
		    strError += "Please enter a valid home phone number (not a mobile number)\n"
	    }
	}
	
	/*if(document.aspnetForm.txtAlternateMobile.value == "") {
		strError += "Please enter an alternative contact number\n"
	}
		
	if(!document.aspnetForm.txtAlternateMobile.value == "")
	{
		if (!ValidPhoneNumberFormat(document.aspnetForm.txtAlternateMobile.value))
		strError += "Please a valid alternative contact number\n"
	}
	*/
	if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtHouse.value == "") {
		strError += "Please enter a house name or number\n"
	}
	
	if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtPostCode.value == "") {
		strError += "Please enter your post code\n"
	}
	else
	if(!ValidPostcodeFormat(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtPostCode.value)){
		strError += "Please enter a valid post code\n"
	}
	
	
	
	if (!document.aspnetForm.ctl00$ContentPlaceHolderBanner$chkDontHaveEmail.checked)
	{
		if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$Email.value == "") 
		{
		    strError += "Please enter your email address\n"
		} 
		if(!document.aspnetForm.ctl00$ContentPlaceHolderBanner$Email.value == "") 
		{
			if ((document.aspnetForm.ctl00$ContentPlaceHolderBanner$Email.value.indexOf("@") == -1) || (document.aspnetForm.ctl00$ContentPlaceHolderBanner$Email.value.indexOf(".") == -1))
			{
				strError += "Your e-mail address appears to be invalid\n"	
			}
			else
			if(!(document.aspnetForm.ctl00$ContentPlaceHolderBanner$Email.value == document.aspnetForm.confirm.value)) 
			{
				strError += "Your e-mail address and confirmation email address do not match\n"
			}
		
		}
		
	}
	
	/* 	
	if (document.aspnetForm.ctl00$ContentPlaceHolderBanner$chkExistingCustomerYes.checked){
		
		if(document.aspnetForm.txtSkyAccountNumber.value == "") {
		strError += "Please enter your Sky account number\n"
		}	
	}
	*/	

	var myOption3 = 0
	var q3check
	for (f=0; f<document.aspnetForm.ctl00$ContentPlaceHolderBanner$havesky.length; f++) 
	{
		
		if (document.aspnetForm.ctl00$ContentPlaceHolderBanner$havesky[f].checked) 
		
		{									
		myOption3 = myOption3 +  1	
		q3check = document.aspnetForm.ctl00$ContentPlaceHolderBanner$havesky[f].value
		}
	}	
	if (myOption3 == 0) 
	
	{
	strError += "Please answer if you are an existing Sky customer? \n"
	}
	
	var myOption2 = 0
	var q2check
	for (f=0; f<document.aspnetForm.ctl00$ContentPlaceHolderBanner$HaveBroadband.length; f++) 
	{
		
		if (document.aspnetForm.ctl00$ContentPlaceHolderBanner$HaveBroadband[f].checked) 
		
		{									
		myOption2 = myOption2 +  1	
		q2check = document.aspnetForm.ctl00$ContentPlaceHolderBanner$HaveBroadband[f].value		
		
		}
	}	
	if (myOption2 == 0) 
	
	{
	strError += "Please answer if you have Broadband? \n"
	}
	
	
	/* Ahsan - Added code for mandatory Broadband provider field */
	
	if (q2check == 'rbtnHaveBroadbandYes'){		
		if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$ddlProvider.value == "0") {		
			strError += "Please answer your current Broadband provider?\n"
		}
	}
	
	/* Ahsan - Added code for mandatory remaining contract time */
	if (document.aspnetForm.ctl00$ContentPlaceHolderBanner$chkInContractWithISP.checked)
	{
	    if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$ddlContractDuration.value == "0") {
			strError += "Please answer the remaining contract time with your Broadband provider?\n"
		}
	}
	
	if(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtRetailCode.value != "")
	{
		exp = /^[0-9a-zA-Z]{5,5}$/
		if (exp.test(document.aspnetForm.ctl00$ContentPlaceHolderBanner$txtRetailCode.value) != true) {
			strError += "The retail code you entered is not valid \n"		
		}
	}
	if(strError == "") {
		
		return true;
	}
	else
	{
		alert(strError)
		return false;	
	}
}	

	
	function checkemail() {
	    //ctl00$ContentPlaceHolderBanner$Email
	    //confirm
		if (document.aspnetForm.confirm.value != document.aspnetForm.ctl00$ContentPlaceHolderBanner$Email.value) {
			alert("Emails do not match. Please re-enter you details.");
			document.aspnetForm.ctl00$ContentPlaceHolderBanner$Email.focus();
			}
	}

    function Left(str, n)
    {
            if (n <= 0)     
                    return "";
            else if (n > String(str).length)   
                    return str;                
            else 
                    return String(str).substring(0,n);

    }

    //check postcode format is valid
    function checkPostcode(postcode) 
    { 
        var errMsg;
        var test;
        var size;
        test = postcode; 
        size = test.length;
        test = test.toUpperCase(); //Change to uppercase
        while (test.slice(0,1) == " ") //Strip leading spaces
        {
            test = test.substr(1,size-1);
            size = test.length;
        }
        while(test.slice(size-1,size)== " ") //Strip trailing spaces
        {
            test = test.substr(0,size-1);
            size = test.length;
        }
        if (size == 0)
        {
            errMsg = "Please enter your postcode\n";
            return errMsg;
        }
        //if (size < 6 || size > 8)  //Code length rule
        if (size < 5 || size > 8)  //Code length rule
        {
            errMsg = test + " is not a valid postcode - wrong length\n";
            return errMsg;
        }
        if (!(isNaN(test.charAt(0)))) //leftmost character must be alpha character rule
        {
            errMsg = test + " is not a valid postcode - cannot start with a number\n";
            return errMsg;
        }
        if (isNaN(test.charAt(size-3))) //first character of inward code must be numeric rule
        {
            errMsg = test + " is not a valid postcode - alpha character in wrong position\n";
            return errMsg;
        }
        if (!(isNaN(test.charAt(size-2)))) //second character of inward code must be alpha rule
        {
            errMsg = test + " is not a valid postcode - number in wrong position\n";
            return errMsg;
        }
        if (!(isNaN(test.charAt(size-1)))) //third character of inward code must be alpha rule
        {
            errMsg = test + " is not a valid postcode - number in wrong position\n";
            return errMsg;
        }
        //if (!(test.charAt(size-4) == " ")) //space in position length-3 rule
        //{
        //    errMsg = test + " is not a valid postcode - no space or space in wrong position\n";
        //    return errMsg;
        //}
        count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
        if (count1 != count2) //only one space rule
        {
            errMsg = test + " is not a valid postcode - only one space allowed\n";
            return errMsg;
        }
        return "";
    }
