var xmlHttp;
var hasLayer=true;
window.divId;
var transLayer = false;
var globalProductId;
var isIE = navigator.appName.indexOf("Microsoft") != -1;

function createXMLHttpRequest() 
{
	if (window.ActiveXObject) 
	{
	   	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  	}
  	else if (window.XMLHttpRequest) 
  	{
    	xmlHttp = new XMLHttpRequest();
  	}
  	else
  	{
  		xmlHttp = new XMLHttpRequest();
  	}
}

function loading()
{ 
	document.getElementById(divId).style.display = 'inline';
  	var content="<img src='/images/trans.gif'>";
  	document.getElementById(divId).setInnerHTML=content;
}

function getLayerHTML(url, method)
{
	createXMLHttpRequest();
	var queryString = url;	
  	xmlHttp.onreadystatechange = function(){
  		if(xmlHttp.readyState == 4) 
  	  	{
  	   		if(xmlHttp.status == 200) 
  			{    			
  	   			var response = xmlHttp.responseText;
  	    		if(document.getElementById('trans') != null){
  	    			checkScreenWidth();
  					//document.getElementById('trans').style.display='inline';
  				}
  	    		
  				if(hasLayer)
  	   			{				
  					//document.getElementById(divId).style.display = 'inline';
  					document.getElementById(divId).innerHTML = response; 	
  					$('#'+divId).modal();  
  				}
  		   		else
  	   			{
  		      		//document.getElementById(divId).style.display = 'block';
  	       			document.getElementById(divId).innerHTML = response;
  	       			$('#'+divId).modal();  
  	   			}
  	  		}
  	  		jQuery.event.trigger( "ajaxComplete" , [url]);
  	 	}
  		
  	};
  	xmlHttp.open(method, queryString, true);  	
  	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  	var content="<img src='images/trans.gif'>";
  	document.getElementById(divId).innerHTML = content;
  	xmlHttp.send(null);
}

function scAjax(url, divName, methodName, hideDiv)
{
	setDiv(divName);
	if(typeof userEmail != "undefined" && userEmail != null) {
		if($.cookie(encodeURIComponent('confirmPurchase_'+userEmail)) != null 
			&& $.cookie(encodeURIComponent('confirmPurchase_'+userEmail)) != 'false') {
			displayTransLayer(true);
		}
	}
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), methodName);
}

function setDiv(x)
{
	divId = x;
}

function closeLayer(divName, removeContent, hideDiv)
{
	$.modal.close();
	if(!transLayer)
	{
		if(document.getElementById(divName)!=null)
		{
			if(removeContent!=null && removeContent==true) {
				document.getElementById(divName).innerHTML = '';
			}
			$.modal.close();
			document.getElementById(divName).style.display='none';
			document.getElementById('trans').style.display='none';
			$('#'+divName).remove(); 			
		}
		if(isIE) {
			$("select").css('visibility', '');
		}
	}
}

function closePopup(divName, removeContent, hideDiv){
	$.modal.close();
	if(!transLayer)
	{
		if(document.getElementById(divName)!=null)
		{
			if(removeContent!=null && removeContent==true) {
				document.getElementById(divName).innerHTML = '';
			}
			$.modal.close();
			$('#'+divName).hide();
		}
	}	 
}

function checkScreenWidth(){

	document.getElementById('trans').style.height=simsinternet.getInnerHeight()+ "px";
	document.getElementById('trans').style.width=(simsinternet.getInnerWidth()-21) + "px"; 
}

function displayTransLayer(value)
{
	transLayer = value;
}

function hideTrans()
{
	if(document.getElementById('trans')!=null)
		document.getElementById('trans').style.display='none';
}

function createCookieForCommunity(name, value, days, siteDomain) {
	if (days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/; domain=" +siteDomain;
}

function redeemCouponCode()
{
	$('#couponCodeAjax').attr('src', 'images/ajaxBig.gif');
	document.getElementById('redeemCouponCodeGreenTransButton').style.display = 'block';
	document.getElementById('redeemProductCodeButton').style.display = 'none';
	var couponCode1 = document.getElementById('couponCode1').value;
	var couponCode2 = document.getElementById('couponCode2').value;
	var couponCode3 = document.getElementById('couponCode3').value;
	var couponCode4 = document.getElementById('couponCode4').value;
	var couponCode = couponCode1+couponCode2+couponCode3+couponCode4;
	createXMLHttpRequest();  	
	var url ="/redeemCouponCode.html?couponCode="+couponCode;
	xmlHttp.onreadystatechange = handleRedeemResponse;	
  	xmlHttp.open("POST", url, true);
   	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   	xmlHttp.send(null);   	
}

function handleRedeemResponse() 
{
	if(xmlHttp.readyState == 4) 
  	{	
   		if(xmlHttp.status == 200) 
		{ 
	    	var response = xmlHttp.responseXML;	    
			if(response.getElementsByTagName("updateSimPointsBalance")[0].childNodes[0].nodeValue != 'null') {
				document.getElementById('couponCode1').value="";
				document.getElementById('couponCode2').value="";
				document.getElementById('couponCode3').value="";
				document.getElementById('couponCode4').value="";
				document.getElementById('errorMessage').style.display = 'none';
				document.getElementById('genErrorMessage').style.display = 'none';
				document.getElementById('successMessage').style.display = 'block';
				document.getElementById('successMessage').innerHTML = response.getElementsByTagName("message")[0].childNodes[0].nodeValue;
				document.getElementById('updateSimPointsBalance').innerHTML =response.getElementsByTagName("updateSimPointsBalance")[0].childNodes[0].nodeValue ;
				document.getElementById('termsAgreementRedeemCouponCode').checked = false; 	
			}
			else {
				document.getElementById('successMessage').style.display = 'none';
				document.getElementById('genErrorMessage').style.display = 'none';
				document.getElementById('errorMessage').style.display = 'block';
				document.getElementById('errorMessage').innerHTML = response.getElementsByTagName("message")[0].childNodes[0].nodeValue;
				document.getElementById('termsAgreementRedeemCouponCode').checked = false; 
			}
					
  		}
  		else {
  			document.getElementById('successMessage').style.display = 'none';
  			document.getElementById('errorMessage').style.display = 'none';
			document.getElementById('genErrorMessage').style.display = 'block';
			document.getElementById('termsAgreementRedeemCouponCode').checked = false; 
  		}
  		$('#couponCodeAjax').attr('src', 'images/trans.gif');
  		document.getElementById('redeemCouponCodeGreenTransButton').style.display = 'block';
		document.getElementById('redeemProductCodeButton').style.display = 'none';  		
 	}
}

function redeemSims3StorePromoCouponCode() {
	var promoCouponCode = document.getElementById('promoCouponCode').value;
	promoCouponCode=promoCouponCode.replace(/\s*$/, '');
	document.getElementById('applyDiscountCoupn').value="true";
	var quantity = document.getElementById('quantity').value;
	var subTotal = document.getElementById('subTotal').value;
	var taxAmount = document.getElementById('taxAmount').value;
	var currency = document.getElementById('currency').value;
	var productId=document.getElementById('promoProductId').value;
	var promoType=document.getElementById('bundleType').value;
	var transactionType = document.getElementById('action').value;
	var url ="/redeemPromoCouponCode.html?promoCouponCode="+promoCouponCode+"&quantity="+quantity+"&subTotal="+subTotal+"&taxAmount="+taxAmount+"&transactionType="+transactionType+"&currency="+currency+"&productId="+productId+"&promoType="+promoType;
	$.ajax({'type': 'POST', 'url': url,success: function(data){
		var result = eval("(" + data + ")");
		handleRedeemSims3StorePromoCouponCodeResponse(result);
	}});
}	   	


function handleRedeemSims3StorePromoCouponCodeResponse(result) {
	if(result.success){
		if(result.message != null) {
			document.getElementById('errorMessageValidCode').style.display = 'none';	
			document.getElementById('applyDiscountCoupn').value="false";	
			document.getElementById('errorMessage').innerHTML = result.message;
			document.getElementById('promoCouponCode').value="";
			document.getElementById('couponCodeBonusType').value = "";
			document.getElementById('couponCodeBonusValue').value = "";
			document.getElementById('bonusTypeSucessMessage').innerHTML="";
			document.getElementById('bonusTypeSucessMessage').style.display = 'none';
			document.getElementById('errorMessage').style.display = 'block';
			document.getElementById('splBonusProductId').value = "";
			document.getElementById('recomputedQuantity').value = 0;
			document.getElementById('paymentSummary1SimPoints').innerHTML =result.originalSimPoints;
			document.getElementById('couponCodePromoProductId').value="";
			document.getElementById('successMessage').innerHTML =""
			document.getElementById('successMessage').style.display = 'none';
			document.getElementById('discountRate').innerHTML ="";
			document.getElementById('discountRateDiv').style.display = 'none';
			if(document.getElementById('displayTotal') != null) {
				document.getElementById('displayTotal').innerHTML = result.total;
			}
							
			if(document.getElementById('displaySubTotal1') != null) {
				document.getElementById('displaySubTotal1').innerHTML = result.subTotal;
			}

			if(document.getElementById('displaySubTotal2') != null) {
				document.getElementById('displaySubTotal2').innerHTML =  result.subTotal;	
			}
			
			if(document.getElementById('displayTax') != null) {
				document.getElementById('displayTax').innerHTML =result.taxAmount;
			}
		}
		else if(result.bonusTypeSucessMessage!=null){
			document.getElementById('errorMessage').style.display = 'none';
			document.getElementById('bonusTypeSucessMessage').style.display = 'block';
			document.getElementById('errorMessageValidCode').style.display = 'none';
			document.getElementById('bonusTypeSucessMessage').innerHTML = result.bonusTypeSucessMessage;
			document.getElementById('couponCodeBonusType').value=result.couponCodeBonusType;
			document.getElementById('couponCodeBonusValue').value = result.couponCodeBonusValue;
			document.getElementById('recomputedQuantity').value = 0;
			document.getElementById('paymentSummary1SimPoints').innerHTML = result.originalSimPoints;
			document.getElementById('couponCodePromoProductId').value="";
			document.getElementById('successMessage').innerHTML =""
			document.getElementById('successMessage').style.display = 'none';
			document.getElementById('discountRate').innerHTML ="";
			document.getElementById('discountRateDiv').style.display = 'none';
			if(document.getElementById('displayTotal') != null) {
				document.getElementById('displayTotal').innerHTML = result.total;
			}
							
			if(document.getElementById('displaySubTotal1') != null) {
				document.getElementById('displaySubTotal1').innerHTML = result.subTotal;
			}

			if(document.getElementById('displaySubTotal2') != null) {
				document.getElementById('displaySubTotal2').innerHTML =  result.subTotal;	
			}
			
			if(document.getElementById('displayTax') != null) {
				document.getElementById('displayTax').innerHTML =result.taxAmount;
			}
			document.getElementById('splBonusProductId').value = result.splBonusProductId;
		}
		else{
			document.getElementById('errorMessage').style.display = 'none';
			document.getElementById('successMessage').style.display = 'block';
			document.getElementById('errorMessageValidCode').style.display = 'none';
			document.getElementById('successMessage').innerHTML = result.successMessage;
			document.getElementById('paymentSummary1SimPoints').innerHTML =  result.updateSimPoints;
			document.getElementById('paymentSummary2SimPoints').innerHTML =  result.originalSimPoints;
			document.getElementById('couponCodePromoProductId').value = result.promoProductRuleId;
			document.getElementById('recomputedQuantity').value =  result.newQuantity;
			document.getElementById('couponCodeBonusType').value = result.couponCodeBonusType;
			document.getElementById('couponCodeBonusValue').value = "";
			document.getElementById('bonusTypeSucessMessage').innerHTML="";
			document.getElementById('bonusTypeSucessMessage').style.display = 'none';
			document.getElementById('splBonusProductId').value = result.splBonusProductId;
			
			if(document.getElementById('displayTotal') != null) {
				document.getElementById('displayTotal').innerHTML = result.total;
			}
							
			if(document.getElementById('displaySubTotal1') != null) {
				document.getElementById('displaySubTotal1').innerHTML = result.subTotal;
			}

			if(document.getElementById('displaySubTotal2') != null) {
				document.getElementById('displaySubTotal2').innerHTML = result.subTotal;	
			}
			
			if(document.getElementById('displayTax') != null) {
				document.getElementById('displayTax').innerHTML =result.taxAmount;
			}
			
			if(document.getElementById('discountRateDiv') != null) {
				document.getElementById('discountRateDiv').style.display = 'block';
				document.getElementById('discountRate').style.display = 'inline';
				document.getElementById('discountRate').innerHTML = result.discountRate; 
			}
		}
		
	}
}

function addToFavorite(productId, productDescOmniture) {
	setDiv('addToFavoritelayerHTML');
	displayTransLayer(true);
	jQuery.event.trigger( "ajaxStart" );
	globalProductId = productId;
	var url ="/addToFavorite.html?productId="+productId+"&successView=addToFavorite&r="+Math.random();
	createXMLHttpRequest();
  	xmlHttp.open('GET', url, true);  	
  	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  	xmlHttp.send(null);	
  	jQuery.event.trigger( "ajaxComplete" );
  	enableSavedToFavorite();
  	omniLinkCall(this, productDescOmniture);
}

function handleAddToFavoriteResponse() {
	if(xmlHttp.readyState == 4) {
   		if(xmlHttp.status == 200) { 
   			var response = xmlHttp.responseXML;	  
			var url ="/addToFavorite.html?successView=addToFavoriteSuccess&productId="+globalProductId;
			jQuery.event.trigger( "ajaxStart" );
			getLayerHTML(url+"&r="+Math.random(), 'GET');
   		}
	}
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}


function giftItem() {

	$('#ajaxLoaderDiv').show();
	$('#sendGift').hide();
	$('#sendGiftDisabled').show();
	
	setDiv('layerHTML');
	var message = document.getElementById("message").value;
	if(message != null && message.trim().length == 0) {
	  $.ajax({
          type:"POST",
          cache:false,
          url:"/giftItem.html",
          data:$("#giftItem").serialize(),
          success:function(sdata){
		  	  $('#layerHTML').html(sdata);
		  	  $('#layerHTML').modal();
	          //$('#layerHTML').show();     
	          $('#ajaxLoaderDiv').hide();
 			  $('#sendGift').show();
			  $('#sendGiftDisabled').hide();
	      }
	  });        
	} else {
		document.giftItem.submit();
	}
}

function giftThisItemFavList(giftToUserId, productId, obj) {
	setDiv('layerHTML');
	var url = "/gift.html?giftToUserId="+giftToUserId+"&productId="+productId;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
	     	if(browser == "safari") {
				leftPos = $(obj).offset().left-305;
				topPos = $(obj).offset().top-$('#layerHTML').height()-391;
			}
			else {
				leftPos = $(obj).offset().left-305;
				topPos = $(obj).offset().top-$('#layerHTML').height()-391;
			}
            
            $('#layerHTML').css({
                      'left' : leftPos,
                      'top' : topPos                                               
                  }).show();  
}

function giftThisItemProductDetails(productId, obj) {
	setDiv('giftThisItemLayerHTML');
	var url = "/gift.html?productId="+productId;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
	    $('#giftThisItemLayerHTML').show();  
}


function giftThisItemBSPFlow(giftToUserId, productId, obj) {
	setDiv('layerHTML');
	var url = "/gift.html?giftToUserId="+giftToUserId+"&productId="+productId;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
}

function avatarTryItNow(productId) {
	setDiv('avatarTryItHTML');
	var url = "/avatarTryIt.html?productId="+productId;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
}

function avatarTryItNowListingPage(productId, div) {
	setDiv(div);
	var url = "/avatarTryIt.html?productId="+productId;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
}

function giftItemWithoutMessage() {
	alert();
	document.noMessageGiftItem.submit();
}

function ep1ProductUserRegister(productId) {
	setDiv('layerHTML');
	var url = "/ep1ProductUserRegLayer.html?productId="+productId;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
}

function productUserRegisterAlert(gameHalKey) {
	setDiv('layerHTML');
	var url = "/productUserRegLayer.html?gameHalKey="+gameHalKey;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
}


function productOriginUserRegisterAlert(isIncentiveTypeOrigin) {
	setDiv('layerHTML');
	var url = "/productUserRegLayer.html?isIncentiveTypeOrigin="+isIncentiveTypeOrigin;
	jQuery.event.trigger( "ajaxStart" );
	getLayerHTML(url+"&r="+Math.random(), 'GET');
}

function enableSavedToFavorite(){
	document.getElementById('addToFavorites').style.display = 'none';
	document.getElementById('savedToFavorites').style.display = '';	
  	showMyFavouritesLink();
}

function hideSaveToFavorite() {
	if(document.getElementById('addToFavorites') != null) {
		document.getElementById('addToFavorites').style.display = 'none';
	}	
	
	if(document.getElementById('savedToFavorites') != null) {
		document.getElementById('savedToFavorites').style.display = 'none';
	}	
}

$(document).ready(function(){ 
	$('#txtPersona, #txtPersonaSideNav').focus(function() {
			   if ($(this).val() == $(this).attr('title')) {
				 $(this).val('');
			   }
			 })
			 .blur(function() {
			   if ($(this).val() == '') {
				 $(this).val($(this).attr('title'));
			   }
			 });
	
			 $('#txtPersona').val($('#txtPersona').attr('title'));
			 $('#txtPersonaSideNav').val($('#txtPersonaSideNav').attr('title'));	
	
});

function casDemoUserBuyNowAlertPopup(obj){   
	                         //alert($('#layerPopup').html());
	                              $('#layerPopup').css({
	                                        left:$(obj).offset().left-620,
	                                        top:$(obj).offset().top-$('#layerPopup').height()-505                                               
	                                    }).show();  
                       
}  
function showMyFavouritesLink(){
	if(document.getElementById("myFavouriteLinkVisible") == null){
		document.getElementById("myFavouriteLinkInvisible").style.display = "inline";
	}
}

function showPopUp()
{
	document.getElementById("dialogue").style.display = "";
	document.getElementById("overlay").style.display = "";
	if(document.getElementById('headerSearchSelect') != null) {
		document.getElementById('headerSearchSelect').style.visibility = 'hidden';
	}	
}

function hidePopUp()
{
	document.getElementById("dialogue").style.display = "none";
	document.getElementById("overlay").style.display = "none";
	if(document.getElementById('headerSearchSelect').style.visibility == 'hidden') {
		document.getElementById('headerSearchSelect').style.visibility= 'visible';
	}
}

function showEarnedBadgePopup(div) {
	var url = '/layer.html?layer=earnedBadge';
	scAjax(url+"&r="+Math.random(), div, 'GET');
}


