﻿document.domain = "ticketcity.com";

function bvShowTab(application, displayCode, subjectId, deepLinkId){
    if (application == 'PRR') {
        /* TODO: insert code here to open the tab that R&R content lives in if there is no such tab (content is visible by default), this block may be removed. */
    }
}

function ratingsDisplayed(totalReviewsCount, avgRating, ratingsOnlyReviewCount, recommendPercentage, productID) {
    if (totalReviewsCount == 0) {
        var bvRevCntr = document.getElementById("BVReviewsContainer");
        var bvSVPLink = document.getElementById("BVSVPLinkContainer");
        
        if (bvRevCntr) { bvRevCntr.style.display = "none"; }
        if (bvSVPLink) { bvSVPLink.style.display = "none"; }
    }
}

function pageChanged(pageName, pageStatus) {
    /* TODO: place web analytics tagging code here to track submission process */
}





/* ticketcity functions, used for customer auth integration */
/* ====================================== */
function sendPasswordBV(strEmail)
{
    returnObj('txtPass').obj.value="";
    var strServiceURL =  location.protocol+"//"+location.hostname+"/ws/tcws.asmx/SendPasswordReminder";
    var nBrokerID = readCookie("BrokerID");
    var strParams = "brokerId="+nBrokerID+"&emailAddress="+strEmail;
    ajaxPost(strParams,strServiceURL,"sentPasswordMsgBV");
}

function sentPasswordMsgBV()
{
    returnObj('txtEmail').obj.value=returnObj('txtRemindEmail').obj.value;
    returnObj('txtRemindEmail').obj.value="";
    returnObj("divPassReminder").style.display="none";
    returnObj("divLogin").style.display="";
    returnObj("divSentPwdMsg").style.display="";
    setTimeout("returnObj('divSentPwdMsg').style.display='none'",5000);
}

function loginReviewer(strEmail, strPassword)
{
    returnObj('txtPass').obj.value="";
    var strServiceURL =  location.protocol+"//"+location.hostname+"/ws/tcws.asmx/GetCustomer";
    var nBrokerID = readCookie("BrokerID");
    var strSessionID = readCookie("SessionGUID");
    var strParams = "BrokerID="+nBrokerID+"&SessionID="+strSessionID+"&Email="+strEmail+"&Password="+strPassword;
   
	args = new Array();
	for(n=0; n<1; n++)
	{
		args[n] = "login";
	}
    ajaxPost(strParams,strServiceURL,"reviewerLoggedIn",args);
}

function reviewerLoggedIn()
{
	xml = arguments[0];
	callerType = arguments[1][0]; /* login|register */

    var bActiveX=true;
	if (document.implementation && document.implementation.createDocument)
	{
	    bActiveX=false;
		xmlDoc = document.implementation.createDocument("", "", null);
		parser=new DOMParser();
        xmlDoc=parser.parseFromString(xml,"text/xml");
	}
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.loadXML(xml);
 	}
	else
	{
		alert("Your browser is having problems with our website!\n\nPlease call us to resolve this issue.");
		return;
	}
    switch(xmlDoc.getElementsByTagName("GetCustomer")[0].getAttribute("StatusCode"))
    {
        case "0":
            createCookie("CustomerID",xmlDoc.getElementsByTagName("GetCustomer")[0].getAttribute("ID"),0);
            createCookie("CustomerEmail",xmlDoc.getElementsByTagName("GetCustomer")[0].getAttribute("Email"),0);
			switch(callerType)
			{
				case "register":
					var strNotify = false;
					try{strNotify = (returnObj('chkNotify').obj.checked == true) ? "true" : "false";}catch(ex){}
					cmCreateRegistrationTag(readCookie("CustomerID"), readCookie("CustomerEmail"), null, null, null, null, "Reviews", strNotify);
					break;
			}
            window.location.reload();
            break;
        default: /* no customer record found */
			switch(callerType)
			{
				case "login":
					alert("Invalid login.\n\nEither the email address or password you entered is not in our records.\n\nIf you forgot your password click the 'Forgot password' link and have a reminder emailed to you.\n\n");
					break;
				case "register":
					alert("Failed to create a new account!\n\nThe email address you entered might already exist in our records.\n\nIf you forgot your password click the 'Forgot password' link and have a reminder emailed to you.\n\n");
					break;
			}
            break;
    }
}

function validValue(str,strRegExp,strErrId,bNegate)
{
    var regex = new RegExp(strRegExp);
    if(regex.test(str)!=bNegate)
    {
        returnObj(strErrId).style.display="none";
        return true;
    }
    else
    {
        returnObj(strErrId).style.display="";
        return false;
    }
}

function registerReviewer()
{
    var BrokerID = readCookie("BrokerID");
    var SessionID = readCookie("SessionGUID");
	var strFirstName = returnObj("txtAcctFirstName").obj.value;
	var strLastName = returnObj("txtAcctLastName").obj.value;
	var strCity = returnObj("txtAcctCity").obj.value;
	var strCountryID = returnObj("selectAcctCountry").obj.options[returnObj("selectAcctCountry").obj.options.selectedIndex].value;
	var strStateID = returnObj("selectAcctState").obj.options[returnObj("selectAcctState").obj.options.selectedIndex].value;
	var strPostalCode = returnObj("txtAcctPostalCode").obj.value;
	var strEmail = returnObj("txtAcctEmail").obj.value;
	var strPassword = returnObj("txtAcctPassword").obj.value;
	var strPasswordConfirm = returnObj("txtAcctPasswordConfirm").obj.value;
	var strNotify = (returnObj('chkNotify').obj.checked == true) ? "true" : "false";
	
	bValid = true;
	
	if(!validValue(strFirstName,/\S/,"validator-txtAcctFirstName-msg",false)){bValid=false;}
	if(!validValue(strLastName,/\S/,"validator-txtAcctLastName-msg",false)){bValid=false;}
	if(!validValue(strCity,/\S/,"validator-txtAcctCity-msg",false)){bValid=false;}
	if(returnObj("txtAcctPostalCode").style.display!="none")
	{
		if(!validValue(strPostalCode,/\S/,"validator-txtAcctPostalCode-msg",false)){bValid=false;}
	}
	else
	{
		strPostalCode="";
	}
    if(!validValue(strEmail,/(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(2([0-4]\d|5[0-5])|1?\d{1,2})(\.(2([0-4]\d|5[0-5])|1?\d{1,2})){3} \])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/,"validator-txtAcctEmail-msg",false)){bValid=false;}

	if(trim(strPassword)=="")
	{
		returnObj("validator-txtAcctPassword-msg").style.display="";
		bValid=false;
	}
	else
	{
		returnObj("validator-txtAcctPassword-msg").style.display="none";
		if(strPasswordConfirm!=strPassword)
		{
			returnObj("validator-txtAcctPasswordConfirm-msg").style.display="";
			bValid=false;
		}
		else
		{
			returnObj("validator-txtAcctPasswordConfirm-msg").style.display="none";
		}
	}
	
	if(returnObj("selectAcctCountry").style.display!="none"&&returnObj("selectAcctCountry").obj.selectedIndex==0)
	{
		bValid=false;
		returnObj("validator-selectAcctCountry-msg").style.display="";
	}
	else
	{
		returnObj("validator-selectAcctCountry-msg").style.display="none";
	}
	
	if(returnObj("selectAcctState").style.display!="none"&&returnObj("selectAcctState").obj.selectedIndex==0)
	{
		bValid=false;
		returnObj("validator-selectAcctState-msg").style.display="";
	}
	else
	{
		returnObj("validator-selectAcctState-msg").style.display="none";
	}

	if(bValid)
	{
		var nReferralTypeID=106; /* BazaarVoice */
		var strServiceURL =  location.protocol+"//"+location.hostname+"/ws/tcws.asmx/RegisterCustomer";             
		var strParams = "strSessionID="+SessionID+"&nBrokerID="+BrokerID+"&strFirstName="+strFirstName+"&strLastName="+strLastName+"&strAddress1=&strAddress2=&strCity="+strCity+"&nCountryID="+strCountryID+"&nStateID="+strStateID+"&strPostal="+strPostalCode+"&strPhoneDay=&strPhoneEve=&bEmailList="+strNotify+"&bMailList=false&strEmail="+strEmail+"&strNewPassword="+strPassword+"&nReferralTypeID="+nReferralTypeID+"&bTransform=false";

		args = new Array();
		for(n=0; n<1; n++)
		{
			args[n] = "register";
		}
		ajaxPost(strParams,strServiceURL,"reviewerLoggedIn",args);
	}
}

function loadRegisterStates(id,value)
{
    /* clear all the options that were previously set */
    while(returnObj(id).obj.options.length>0)
    {
         returnObj(id).obj.options[0]=null;
    }
   
    returnObj(id).obj.options[0] = new Option("",0); 
      
    var x;
    var i = 1; 
    for(x in strStates)
    {
        if(strStates[x].substring(0,strStates[x].indexOf(","))==value)
        {
            var strStateInfo = strStates[x].split(",");
            returnObj(id).obj.options[i] = new Option(strStateInfo[2],strStateInfo[1]);
            i++;
        }
    }

    if(i==1)
    {
        returnObj(id).style.display="none";
        returnObj("validator-"+id+"-msg").style.display="none";
        returnObj("spanNO"+id).style.display="";
    }
    else
    {
        returnObj(id).style.display="";
        returnObj("spanNO"+id).style.display="none";
    }
   
    var strPostalInput = "txtAcctPostalCode";

    if(strNoPostal.indexOf("|"+value+"|")>=0)
    {
        returnObj(strPostalInput).style.display="none";
        returnObj("validator-txtAcctPostalCode-msg").style.display="none";
        try{returnObj("spanNO"+strPostalInput).style.display="";}catch(ex) {}
    }
    else
    {
        returnObj(strPostalInput).style.display="";
        try{returnObj("spanNO"+strPostalInput).style.display="none";}catch(ex) {}
    }  
}

