﻿var isIE6 = navigator.userAgent.toLowerCase().indexOf('msie 6') != -1;
var popupIFrame = null;
var min_overlay_width = 1106;
//window.onresize = _overlay_resize;
var isUnresizeablePopup = false;

/*****************************/
/**     Ajax callbacks      **/
/*****************************/
function ForwardToAFriendCallback(result)
{	
	if (!result.value)
	{
		document.getElementById("ForwardResultLabel").innerHTML = "An error occured on server";
	}
	else
	{
		if (result.value.ResultType == 0)
		{	
			ShowPopupForwardThankYou();			
		}
		else
		{
			document.getElementById("ForwardResultLabel").innerHTML = "Error: " + result.value.Message;
		}
	}
}
function SubmitStoryCallback(result)
{	
	if (!result.value)
	{
		document.getElementById("SubmitStoryResultLabel").innerHTML = "An error occured on server";
	}
	else
	{
		if (result.value.ResultType == 0)
		{
			ShowPopupStoryThankYou();			
		}
		else
		{
			document.getElementById("SubmitStoryResultLabel").innerHTML = "Error: " + result.value.Message;
		}
	}
}
/*****************************/
/**  Ajax calls validation  **/
/*****************************/
function ForwardToAFriendValidate()
{
	var result = "";
	var separator = "";
	var lineSeparator = "";
	if (trim(document.getElementById("YourNameBox").value).length == 0)
	{
		result += separator + "Your Name";
		separator = ", ";
	}
	if (trim(document.getElementById("YourMailBox").value).length == 0)
	{
		result += separator + "Your E-mail";
		separator = ", ";
	}
	if (trim(document.getElementById("FriendsNameBox").value).length == 0)
	{
		result += separator + "Friend's Name";
		separator = ", ";
	}
	if (trim(document.getElementById("FriendsMailBox").value).length == 0)
	{
		result += separator + "Friend's E-mail";
		separator = ", ";
	}
	if (result.length != 0)
	{
		result = "The following fields are required: " + result;
		lineSeparator = "<br>";
	}
	if (
		document.getElementById("YourMailBox").value.length != 0 &&
		!document.getElementById("YourMailBox").value.match(/^\s*([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+\s*$/))
	{
		result += lineSeparator + "Your e-mail is invalid";
		lineSeparator = "<br>";
	}
	if (
		document.getElementById("FriendsMailBox").value.length != 0 &&
		!document.getElementById("FriendsMailBox").value.match(/^\s*([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+\s*$/))
	{
		result += lineSeparator + "Your Friend's e-mail is invalid";
		lineSeparator = "<br>";
	}
	return result;
}

function SubmitStoryValidate()
{
	var result = "";
	var separator = "";
	var lineSeparator = "";
	if (trim(document.getElementById("StoryFirstNameBox").value).length == 0)
	{
		result += separator + "Your First Name";
		separator = ", ";
	}
	if (trim(document.getElementById("StoryLastNameBox").value).length == 0)
	{
		result += separator + "Your Last Name";
		separator = ", ";
	}
	if (trim(document.getElementById("StoryMailBox").value).length == 0)
	{
		result += separator + "Your E-mail";
		separator = ", ";
	}
    if (trim(document.getElementById("ConfirmMailBox").value).length == 0)
	{
		result += separator + "Confirm E-mail";
		separator = ", ";
	}
	if (trim(document.getElementById("StoryArea").value).length == 0)
	{
		result += separator + "Your Story";
		separator = ", ";
	}
	if (result.length != 0)
	{
		result = "The following fields are required: " + result;
		lineSeparator = "<br>";
	}
	if (document.getElementById("StoryMailBox").value.length != 0 &&
		!document.getElementById("StoryMailBox").value.match(/^\s*([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+\s*$/))
	{
		result += lineSeparator + "Your e-mail is invalid";
		lineSeparator = "<br>";
	}
	if (document.getElementById("ConfirmMailBox").value.length != 0 && trim(document.getElementById("ConfirmMailBox").value)!=trim(document.getElementById("StoryMailBox").value))
	{
		result += lineSeparator + "Email was retyped incorrectly";		
		lineSeparator = "<br>";
	}	
	var zipField = document.getElementById("StoryZipBox");
	if(zipField && zipField.value.length > 0)
	{
	    var zipPattern=new RegExp("^[0-9]{5}$", "g");	    
        if(!zipPattern.test(zipField.value))
        {
            result += lineSeparator + "Zip code is invalid";		
		    lineSeparator = "<br />";
        }	
	}  
	
	return result;
}

/*****************************/
/**       Ajax calls        **/
/*****************************/
function AddParameterLink(queryString, parameterName, parameterValueVar)
{
	var params = queryString.split('&');
	for (var i = 0; i < params.length; i++)
	{
		var paramIndex = params[i].indexOf(parameterName + '=');
		if (paramIndex == 0)
		{
			if (i != 0)
			{
				paramString = "&" + params[i];
			}
			else if (params.length > 0)
			{
				paramString = params[i] + "&";
			}
			else
			{
				paramString = params[i];
			}
			var paramIndex = queryString.indexOf(paramString);
			queryString = queryString.substr(0, paramIndex) + queryString.substr(paramIndex + paramString.length);
			break;
		}
	}
	if (typeof(window[parameterValueVar]) != "undefined" && window[parameterValueVar] != null)
	{
		if (queryString.length != 0)
		{
			queryString += "&";
		}
		queryString += parameterName + "=" + window[parameterValueVar];
	}
	return queryString;
}
function GetPageLink()
{
	var url = location.href;
	var queryString = "";
	var questionIndex = location.href.indexOf("?");
	if (questionIndex != -1)
	{
		url = location.href.substr(0, questionIndex);
		queryString = location.href.substr(questionIndex + 1);
	}
	queryString =
		AddParameterLink(
			AddParameterLink(
				AddParameterLink(AddParameterLink(queryString, "mid", "currentMobileGameId"), "gid", "currentGameId"),
				"wid",
				"currentWinnerId"),
			"vid",
			"currentVideoId");
	return url + (queryString.length == 0 ? "" : "?") + queryString;
}
function ForwardToAFriend(link, isAboutVideo)
{
	var validationMessage = ForwardToAFriendValidate();
	if (validationMessage.length != 0)
	{
		document.getElementById("ForwardResultLabel").innerHTML = validationMessage;
	}
	else
	{		
		Ovaltine.Webs.Whatpeoplearesaying.AjaxAccessor.ForwardToAFriend(
			document.getElementById("YourNameBox").value,
			document.getElementById("YourMailBox").value,
			document.getElementById("FriendsNameBox").value,
			document.getElementById("FriendsMailBox").value,
			link,
			false, //document.getElementById("WouldLikeEmailsBox").checked,
			//document.getElementById("CommentBox").value,
			isAboutVideo,
			ForwardToAFriendCallback);
	}
	return false;
}

function SubmitStory()
{
	var validationMessage = SubmitStoryValidate();
	if (validationMessage.length != 0)
	{
		document.getElementById("SubmitStoryResultLabel").innerHTML = validationMessage;		
	}
	else
	{	
		Ovaltine.Webs.Whatpeoplearesaying.AjaxAccessor.SubmitStory(
			document.getElementById("StoryFirstNameBox").value,
			document.getElementById("StoryLastNameBox").value,
    		document.getElementById("StoryCityBox").value,  			
    		document.getElementById("StoryStateBox").value,  			
    		document.getElementById("StoryZipBox").value,  			
			document.getElementById("StoryMailBox").value,
			document.getElementById("StoryArea").value,
			false, //document.getElementById("StoryWouldLikeEmailsBox").checked,
			SubmitStoryCallback);
	}
	return false;
}

function ShowPopupForwardThankYou()
{       
    var iframeHeight = "218";
    var iframeWidth = "710";
    var pseudoLink = "popups/thankyou.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=" + iframeHeight
                        + "&width=" + iframeWidth + "&modal=true";
    //setTimeout("tb_show(null, '" + pseudoLink + "', false)",3000);
    self.parent.tb_show(null, pseudoLink, false);    
    //self.parent.tb_remove();
}
function ShowPopupStoryThankYou()
{
    var iframeHeight = "273";
    var iframeWidth = "710";    
    var pseudoLink = "popups/thankyou2.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=" + iframeHeight
                        + "&width=" + iframeWidth + "&modal=true";    
    self.parent.tb_show(null, pseudoLink, false);
}

function RemoveFlash(popupID, flashIDs)
{
	var getFlash = "<a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a>";
	for (var i = 0; i < flashIDs.length; i++)
	{
		document.getElementById(flashIDs[i]).parentNode.innerHTML = "<div id='" + flashIDs[i] + "'>" + getFlash + "</div>";
		document.getElementById(flashIDs[i]).data = '';
		getFlash = "";
	}
}

/*****************************/
/**          Other          **/
/*****************************/
function addOnload(handler)
{
	var oldHandler = window.onload;
	window.onload = function()
	{
		if (oldHandler)
		{
			oldHandler();
		}
		handler();
	}
}

function trim(str)
{
	return str.replace(/^\s*/, "").replace(/\s*$/, "");
}

/*****************************/
/** Get Query String Parameter **/
/*****************************/
function GetQueryStringParameter(parName) 
{
    hu = window.location.search.substring(1);
    gy = hu.split("&");
    for (i = 0; i < gy.length; i++) 
    {
        ft = gy[i].split("=");
        if (ft[0] == parName) 
        {
            return ft[1];
        }
    }
}
function GetFirstElementByClassName(className, tagName)
{
    var elems = document.getElementsByTagName(tagName);
    var result = null;
    for (var i = 0; i < elems.length; i++) 
    {
        if (elems[i].className == className)
        {
            result = elems[i];
            break;
        }
    }
    return result;
}

/*****************************/
/**       Busy wheel        **/
/*****************************/
var xval;
var disabledControls;
function blockViewport(element, controlsToDisable)
{
	disabledControls = controlsToDisable;
	if (disabledControls)
	{
		for (var i = 0; i < disabledControls.length; i++)
		{
			document.getElementById(disabledControls[i]).disabled = true;
		}
	}
	xval = getBusyOverlay(
		element,
		{color:'transparent', opacity:0.75, style:'text-decoration:blink;font-weight:bold;font-size:12px;color:#000000'},
		{color:'#66aa66', size:32, type:'o'});
}
function unblockViewport()
{
	if (xval)
	{
		xval.remove();
	}
	if (disabledControls)
	{
		for (var i = 0; i < disabledControls.length; i++)
		{
			document.getElementById(disabledControls[i]).disabled = false;
		}
	}
}

/////
function checkStr(id, max)
{   
	str=document.getElementById(id).value;	

	if(document.getElementById(id).value.length > max)	{
		str = str.substring(0, max);
	}

	if (str!=document.getElementById(id).value){
		document.getElementById(id).value=str;
	}	
}

function isChar(event){
	return event.charCode>31 || event.keyCode==13 || event.keyCode>31 ;
}

function isArrow(event){
	return event.keyCode>=37 && event.keyCode <=40;
}

function checkSymbol(id, max, event)
 {	    
	if(isChar(event)&& !isArrow(event) && document.getElementById(id).value.length >= max)	{
		if (document.all){
			event.returnValue=false;
		}else{
			event.preventDefault();
		}
	}

	checkStr(id, max);
} 
