/*** Declare APPLICATION Constants here  *****/
var PPRETURNURL = "ReturnURL";
var WWM_DEFAULT = "Default";
var WWM_LOGIN = "Login"
var WWM_REGISTER = "Register";
var WWM_WEBPAGEEXTN = ".aspx";
var WWM_TERMSANDCOND = "TermsAndConditions";
var WWM_MARHOME = "MARDashBoard";
var WWM_REPORTCOA = "ReportCOAUsage";
var WWM_MARPRIVACYSTMT = "MARPrivacyStmt";
//added during FY09Q2 CRs : after collecting Executive Contact Info during Renewal, back to renewal.aspx page
var WWM_RENEWAL = "Renewal";


var WWM_REGION_APAC = "APAC";
var WWM_REGION_NA = "NA";
var WWM_REGION_LATAM = "LATAM";
var WWM_REGION_EMEA = "EMEA";

var URL_COMPUMENTORHOME = "http://www.techsoup.org/mar/default.aspx";
var URL_COMPUMENTORDIRECTORY = "http://www.techsoup.org/mar/marlist.aspx";
var URL_COMPUMENTORREGIONALSERVICE = "http://www.techsoup.org/mar/default.aspx";
var URL_COMPUMENTORPRIVACY = "http://www.techsoup.org/mar/privacy.aspx";
var URL_COMPUMENTORFAQ ="http://www.techsoup.org/mar/marfaq.aspx";

var URL_EMEAHOME = "http://www.microsoft.com/emea/refurbishers";
var URL_EMEADIRECTORY = "http://www.microsoft.com/emea/refurbishers/en/refurbisherDirectory.mspx";
var URL_EMEAREGIONALSERVICE = "http://www.microsoft.com/emea/refurbishers";

var QUERYSTRING_REGIONCODE = "RegionCode";
var QUERYSTRING_LOCALID = "LocaleId";
var QUERYSTRING_COUNTRY = "Country";

var WWM_NONE = "NONE"
/* End *******************************************/

/*
This is common file for all the javascript functions
*/


/*'*************************************************************************
'   Purpose: removes left spaces.
'
'   Author: v-anbont
'   Created Date: 4/20/2005
'*************************************************************************
' Change History:
' Date  Author  Change
'*************************************************************************/         
function fnltrim(argvalue) {

  while (1) {
    if (argvalue.substring(0, 1) != " ")
      break;
    argvalue = argvalue.substring(1, argvalue.length);
  }

  return argvalue;
}


/*'*************************************************************************
'   Purpose: trims on right side
'
'   Author: v-anbont
'   Created Date: 4/20/2005
'*************************************************************************
' Change History:
' Date  Author  Change
'*************************************************************************/         
function fnrtrim(argvalue) {

  while (1) {
    if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ")
      break;
    argvalue = argvalue.substring(0, argvalue.length - 1);
  }

  return argvalue;
}

/*'*************************************************************************
'   Purpose: trims on both sides of a string
'
'   Author: v-anbont
'   Created Date: 4/20/2005
'*************************************************************************
' Change History:
' Date  Author  Change
'*************************************************************************/         
function fnTrim(argvalue)
{
	argvalue = fnltrim(argvalue);	
	argvalue = fnrtrim(argvalue);	
	
	return argvalue;
}

/*'*************************************************************************
'   Purpose: checks or unchecks all check boxes
'
'   Author: v-anbont
'   Created Date: 4/25/2005
'*************************************************************************
' Change History:
' Date  Author  Change
'*************************************************************************/         
function fnUnCheckAllCheckBoxList(checkBoxListId, checkStatus, numOfItems)
{
	var objCtrl = null;
	// Get the checkboxlist object.
	objCtrl = document.getElementById(checkBoxListId);
	
	// Does the checkboxlist not exist?
	if(objCtrl == null)
	{
		return;
	}

	var i = 0;
	var objItem = null;
		
	// Loop through the checkboxes in the list.
	for(i = 0; i < numOfItems; i++)
	{
		objItem = document.getElementById(checkBoxListId + '_' + i);

		if(objItem == null)
		{
			continue;
		}

		objItem.checked = checkStatus;
	}
}

/*'*************************************************************************
'   Purpose: Check whether the parameter passed is a positive integer.
'
'   Author: v-susama
'   Created Date: 5/01/2005
'*************************************************************************
' Change History:
' Date  Author  Change
'*************************************************************************/         
function Verify_Number(sNumber)
{		
    if (typeof(sNumber) != 'string' || fnTrim(sNumber) =='' )
    {        
        return true;
    }   
	else if (isNaN(sNumber))
	{   	
		return false;
	}
	/*else if (sNumber < 1 || sNumber > 50000)
	{	
		return false;
	}*/	
	else if((sNumber.split(".").length) > 1)
	{		
		return false;
	}
	else if(sNumber < 0)
	{
		return false;
	}
	else
	{		
		return true;
	}
}

/*'*************************************************************************
'   Purpose: enabling or disabling all controls in a div
'
'   Author: v-anbont
'   Created Date: 5/07/2005
'*************************************************************************
' Change History:
' Date  Author  Change
'*************************************************************************/         
function fnEnableDisable(ctrl, flag) 
{	
	var Control = document.getElementById(ctrl).all; 
	
	if(Control == null)
		return;
	try
	{	
		var length = Control.length; 
		for(var count=0; count < length; count++) 
		{ 
			if((Control[count].type != null) && (Control[count].type == "text" || Control[count].type == "select-one"))
			{ 
				Control[count].disabled = flag; 
			} 
		}
	}
	catch(e){}
} 
function isEmail(string) 
{
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else
		return false;
}

var statusWin;
function showMessage(win, windowLocation)
{
	//alert(windowLocation);
	statusWin = window.open('status_popup.htm','','width=200,height=50,left=400,top=200,status=no,toolbar=no,menubar=no,location=no')
	statusWin.URL = windowLocation;
	this.onunload = closeWin;
	
	return true;
}

function closeWin(){
	statusWin.close();	
}

strRegionCode = "";
strLocalCode = "";
strCountryCode = "";
function fnRedirectToRegionalHomeJS(regionCode, localCode,countrycode)
{

	strRegionCode = regionCode;
	//strLocalCode = localCode;
	
	if(countrycode == null || countrycode == WWM_NONE || localCode == null || localCode == WWM_NONE)
	{
		strCountryCode = "";
		strLocalCode = "";
	}
	else
	{
		strCountryCode = countrycode;
		strLocalCode = localCode;
	}
	
	try
	{
		switch(regionCode)
		{
			case WWM_REGION_APAC:
				window.location.href = 'SelectCountryLanguage.aspx';
				break;		
			case WWM_REGION_NA:
			case WWM_REGION_LATAM:
				ShowProgressBar();
				setTimeout("RedirectToPartnerSite('" + regionCode + "','" + strLocalCode +"','" + strCountryCode +"')", 2000);
				break;
			case WWM_REGION_EMEA:
				window.location.href = 'SelectEMEALanguage.aspx';
				break;	
			default:
				window.location.href = "default.aspx";	
				break;
		}
	}
	catch(e)
	{
		HideProgressBar();
	}
}

function RedirectToPartnerSite(regionCode,localCode,countrycode)
{
	if(localCode == "" || countrycode == "")
	{
		window.location.href = URL_COMPUMENTORHOME;
	}
	else
	{
		window.location.href = URL_COMPUMENTORHOME + "?" + QUERYSTRING_REGIONCODE + "=" + regionCode + "&" + QUERYSTRING_LOCALID + "=" + localCode + "&" + QUERYSTRING_COUNTRY + "=" + countrycode;
	}
	HideProgressBar();
}

function fnRedirectToTandCFromSub()
{
	parent.document.location.href =	'../' + WWM_TERMSANDCOND + WWM_WEBPAGEEXTN;
}

function fnOpenAgreement(localeCode)
{
	var documentName;
	documentName = '../AgreementFiles/Agreement_' + localeCode + '.pdf';
	window.open(documentName,null,"resizable=yes,status=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,titlebar=no");
}

function fnRedirectToRegionalHome()
{
	parent.document.location.href = "Redirect.aspx?Where=RegionalHome";
}

function fnRedirectToWWMARHome()
{
	parent.document.location.href = "Redirect.aspx?Where=Default";
}

function fnRedirectToMarDirectoryFromSub(regionCode)
{
	var strURL;
	if(regionCode == WWM_REGION_APAC || regionCode == WWM_REGION_EMEA)
    {
        strURL = '../SelectDirectory.aspx';
    }
    else
    {
        strURL = "Redirect.aspx?Where=MARDirectory&FromRegionCode=" + regionCode;
    }
    
    fnRedirectCommonJS(regionCode,strURL);
}

function fnRedirectCommonJS(regionCode,strURL)
{
	if(regionCode == WWM_REGION_APAC)
	{
		parent.document.location.href = strURL;
	}
	else if(regionCode == WWM_REGION_NA || regionCode == WWM_REGION_LATAM)
	{
		if(strIsPassPortAuthenticated == null)
		{
			parent.document.location.href = strURL;
		}
		else if(strIsPassPortAuthenticated == 'True')
		{
			var strMessage = document.getElementById("LeftSideMenu_divCancelMessage").innerHTML 
							+ '\n' 
							+ strIsPassPortAuthenticatedMsG;
		
			if(confirm(strMessage))
			{
				parent.document.location.href = strURL;
			}
		}
		else
		{
			ShowProgressBar();
			//setTimeout("HideProgressBar();parent.document.location.href ='"+ URL_COMPUMENTORDIRECTORY +"'",2000);
			setTimeout("HideProgressBar();parent.document.location.href ='"+ strURL +"'",2000);
			
		}
	}
	else
	{
		parent.document.location.href = strURL;
	}	
}

/*'*************************************************************************
'   Purpose: Redirect the user to appropriate Directory Page hosted either at TechSoup, MAR or EMEA-MAR site.
'			The redirection is based on RegionCode
'   Author: v-susama
'   Created Date: 8/10/2005
'*************************************************************************
' Change History:
' Date  Author  Change
' Input Parameters :
	- regionCode : Specifies the RegionCode, for which Directory is required. [NA][LATAM][EMEA][APAC]
	- URL_COMPUMENTORDIRECTORY : Defined and Set in wwmar.js
	- URL_EMEADIRECTORY : Defined and Set in wwmar.js
	- UCPassport_LangCode : Defined and Set in PassportSignInOut.ascx
	- UCPassport_IsPassportAuthenticated : Defined and Set in PassportSignInOut.ascx
'*************************************************************************/  
function fnRedirectToMarDirectory(regionCode)
{
	var strURL;

	//Construct the URL based on Region
	switch(regionCode)
	{
		case WWM_REGION_APAC:
		case WWM_REGION_EMEA:
			strURL = "MARDirectoryByLoc.aspx" + "?" + QUERYSTRING_REGIONCODE + "=" + regionCode;
			break;		
		case WWM_REGION_NA:
		case WWM_REGION_LATAM:
			ShowProgressBar();
			//UCPassport_LangCode : Global Variable. Value is set by Passport SignInOut user Control
			strURL = URL_COMPUMENTORDIRECTORY + "?" + QUERYSTRING_REGIONCODE + "=" + regionCode + "&" + QUERYSTRING_LOCALID + "=" + UCPassport_LangCode;
			break;
		default:
			strURL = 'SelectDirectory.aspx';
			break;
	}

	//If user is not signed-In
	fnRedirectCommonJS(regionCode,strURL);
}

function fnRedirectToRegionalServiceFromSub(regionCode)
{
	parent.document.location.href = "../Redirect.aspx?Where=RegionalService&FromRegionCode=" + regionCode;
}

function fnRedirectToRegionalServiceFromSubJS()
{
	parent.document.location.href = "../ContactUs.aspx";
}

function fnRedirectToContactUSJS(regionCode)
{
	document.location.href = "ContactUs.aspx";
}

function fnRedirectToSignOut(fromRegionCode)
{
	parent.document.location.href = "Redirect.aspx?Where=RegionalHome&FromRegionCode="+fromRegionCode;
}

function fnGoToPrivacyStatementJS(code)
{
	if(code == WWM_REGION_NA)
	{
		window.open(URL_COMPUMENTORPRIVACY,null,"resizable=yes,status=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,titlebar=no");
	}
	else
	{
		//document.location.href = WWM_MARPRIVACYSTMT + WWM_WEBPAGEEXTN;
		fnOpenMARPrivacy(code);
	}
}

function fnGoToPrivacyStatementFromSubJS()
{
	parent.document.location.href = "../" + WWM_MARPRIVACYSTMT + WWM_WEBPAGEEXTN;
}

function fnGoToPrivacyStatementFromBottommBar()
{
	document.location.href = WWM_MARPRIVACYSTMT + WWM_WEBPAGEEXTN;
}

function fnGoToPrivacyStatement(regionCode)
{
	document.location.href = "Redirect.aspx?Where=" + WWM_MARPRIVACYSTMT;
}

function fnOpenMARPrivacy(localeId)
{
	window.open("PrivacyStatement.aspx?LocaleId="+localeId + "&Flag=" + WWM_MARPRIVACYSTMT, null,"resizable=yes,status=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,titlebar=no");
}

function fnOpenMARPrivacyFromSub(localeId)
{
	window.open("../PrivacyStatement.aspx?LocaleId="+localeId + "&Flag=" + WWM_MARPRIVACYSTMT, null,"resizable=yes,status=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,titlebar=no");
}

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_showHideLayers() 
{ //v6.0
	var i,p,v,obj,args=MM_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
	if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
	obj.visibility=v; }
}

function fnRedirectToRegionalFAQFromJS(regionCode,localCode,country)
{

	var strURL;

	if(regionCode == WWM_REGION_LATAM || regionCode == WWM_REGION_NA)
	{
		if(fnTrim(country) != "")
		{
			strURL = URL_COMPUMENTORFAQ + "?" + QUERYSTRING_REGIONCODE + "=" + regionCode + "&" + QUERYSTRING_LOCALID + "=" + localCode + "&" + QUERYSTRING_COUNTRY + "=" + country;
		}
		else
		{
			strURL = URL_COMPUMENTORFAQ + "?" + QUERYSTRING_REGIONCODE + "=" + regionCode + "&" + QUERYSTRING_LOCALID + "=" + localCode;
		}
		
		document.getElementById('frmBecomeAMAR').scrollIntoView(true);
	}
	else
	{
		strURL = '../FAQ.aspx';
	}
	
	fnRedirectCommonJS(regionCode,strURL);
}
