/************************************************************************/
/*							Constants and variables						*/
/************************************************************************/
var sFP = window.location.protocol + "//" + window.location.host;
try {var sNUI = (new Cookie("NUI")).getCookie().replace(/[+]/g,' ');}catch(ex){}

/************************************************************************/
/*			  				Prototipes and object functions				*/
/************************************************************************/
function trim(str){
   return str.replace(/^\s*|\s*$/g,"");
}

String.prototype.trim = function(){
	return trim(this);
}

function randOrd(a, b){
	return (Math.round(Math.random())-0.5); 
}

function dec2hex(n){
	n = parseInt(n); var c = 'ABCDEF';
	var b = n / 16; var r = n % 16; b = b-(r/16); 
	b = ((b>=0) &&  (b <= 9)) ? b : c.charAt(b-10);    
	return ((r>=0) && (r <= 9)) ? b+''+r : b+''+c.charAt(r-10);
}
	
function UrlEncode(sStr)
{
	var sReturn='';
	for (var i=0;i<sStr.length;i++)
	{
		var iUni=sStr.charCodeAt(i);
		if(iUni>=1488 && iUni<=1514)
		{
			var iAsc=iUni-1264 ;
			sReturn+=escape(String.fromCharCode(iAsc));
		}else if(iUni==32) sReturn += escape('+');
		else if(iUni==43) sReturn += '%2b';
		else	sReturn+=escape(sStr.charAt(i));
	}
	return sReturn;
}

function utf8_decode(utftext) {
	var string = "";
	var i = 0;
	var c = c1 = c2 = 0;

	while ( i < utftext.length ) {

		c = utftext.charCodeAt(i);

		if (c < 128) {
			string += String.fromCharCode(c);
			i++;
		}
		else if((c > 191) && (c < 224)) {
			c2 = utftext.charCodeAt(i+1);
			string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
			i += 2;
		}
		else {
			c2 = utftext.charCodeAt(i+1);
			c3 = utftext.charCodeAt(i+2);
			string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}

	}

	return string;
}

function suycDateDiff(start) {
	// This function need to recieve date in format = 20:06 25/12/2001
	// and return how many days it is from today
	var strMonthArray = new Array(12);
	strMonthArray[0]  = "Jan";
	strMonthArray[1]  = "Feb";
	strMonthArray[2]  = "Mar";
	strMonthArray[3]  = "Apr";
	strMonthArray[4]  = "May";
	strMonthArray[5]  = "Jun";
	strMonthArray[6]  = "Jul";
	strMonthArray[7]  = "Aug";
	strMonthArray[8]  = "Sep";
	strMonthArray[9]  = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	
	var text = start.substring(5);	
	
	// the mounth
	var sMounth = text
		sMounth = text.substring(3);
		sMounth = sMounth.substring(1,3) ;
	    if(sMounth.indexOf(0)==0) sMounth = sMounth.substring(1,2);
	     sMounth = strMonthArray[sMounth-1];
	     
	// the day
	var sDay = text;
		sDay = sDay.substring(1,3) ;	
	
	// the year
	var sYear = text ;
	    sYear = sYear.substring(7,11) ;
	
	// all start string again
	start = sDay + " " + sMounth + " " + sYear ;	    	

	var now;
	now  = new Date() ;		
    var iOut = 0;
    var bufferA = Date.parse( start ) ;
    var bufferB = Date.parse( now ) ;    	
    if ( isNaN (bufferA) || isNaN (bufferB) )   return 0 ;            	                        
    var number = bufferB-bufferA ;       
    iOut = parseInt(number / 86400000) ;                  
    return iOut ;
}

/************************************************************************/
/*							Search functions							*/
/************************************************************************/

function defined(o) 
{
	return (typeof(o)!="undefined");
}

function SearchRedirectLocal(e)
{
 if (!defined(e) && defined(window.event)) {
      e = window.event;
  }
  return SearchRedirect(false, (e.target || e.srcElement));
}

function SearchRedirect(bReturnString, frm)
{
	var sParamName, sParamValue,arrSplit,sUrl='';
	var oSearchBar = (!defined(frm))?document.getElementById("SearchBar"):frm;
	var oDiv = new Div(oSearchBar);
	var oArrInput;
	var nNumOfParam = 0;
	var sKeywordParam;
	var sArrIgnore = new Array ('q','serviceAction');
	var arrURL, sOptionId;
	var oQ = oSearchBar.q;
	
	oQ = CleanKeywords(oQ);
		
	if(oQ.value.length < 2 || oQ.value== 'חפשו אתר')
	{
		alert("מילת חיפוש צריכה להכיל לפחות 2 תווים חוקיים"); 
		return false;
	}
	
	if(oSearchBar.serviceAction.value) {
		arrURL = oSearchBar.serviceAction.value.split("|");
	}
	else {
		var oSA = document.getElementsByName('serviceAction');
		for (var i=0;i<oSA.length;i++)
			if(oSA[i].checked)
			{
				sOptionId = oSA[i].id;
				arrURL=oSA[i].value.split("|");
				break;
			}
	}
	
	if(typeof(arrURL) != "undefined") {
		nNumOfParam=arrURL.length;	
	}
		
	// get extra parameters
	if(nNumOfParam > 2)
		for(var i=1;i<nNumOfParam-1;i++)
		{
			arrSplit=arrURL[i].split("=");
			sParamName=arrSplit[0];
			sParamValue=arrSplit[1];
			
			sUrl+='&' + escape(sParamName) + '=' + UrlEncode(sParamValue) ;
		}
	
	if(typeof(arrURL) != "undefined") {
		if(arrURL[0].toLowerCase().indexOf("ftsearch")>=0)
		{
			if(!ValidateSearchString(oQ.value.trim()))
			{
				alert(".מילת חיפוש יכולה להכיל אותיות באנגלית, עברית וספרות");
				return false;
			}
		}
	}
	//debugger;
	oArrInput=oSearchBar.getAllChild('INPUT');
	for (var i=0;i<oArrInput.length;i++)
		if(sArrIgnore[0]!=oArrInput[i].name && sArrIgnore[1]!=oArrInput[i].name )
			if ((oArrInput[i].type=='radio' && oArrInput[i].checked)||oArrInput[i].type!='radio')
				sUrl+='&' + escape(oArrInput[i].name) + '=' + UrlEncode(oArrInput[i].value)
			
	oArrInput=oSearchBar.getAllChild('SELECT');
	for (var i=0;i<oArrInput.length;i++)
		if(sArrIgnore[0]!=oArrInput[i].name && sArrIgnore[1]!=oArrInput[i].name )
			sUrl+='&' + escape(oArrInput[i].name) + '=' + UrlEncode(oArrInput[i].value) ;

	if(typeof(arrURL) != "undefined") {
		sKeywordParam = arrURL[nNumOfParam-1];
	}
	sUrl += '&gr=' 
	sUrl += oSearchBar.g.checked ? '1' : '0' ;
	
	sUrl=sUrl+'&' + escape(sKeywordParam) + '=' + UrlEncode(oQ.value) ;	
	
	if(typeof(arrURL) != "undefined") {
		sUrl= arrURL[0] + '?' +sUrl.substring(1);
	}
	else {
		sUrl= sUrl.substring(1);
	}
	
	if (sOptionId)
		sUrl += "&sbId=" + sOptionId.replace("serviceAction","");
	if (oQ.value!='')
		if (bReturnString)
			return sUrl;
		else {
			parent.location=sUrl ;
			return false;
		}
	else
		return false;		
}

function SelectSearchButton(){
	var sSrbId = RequestQueryString("sbId");
	if (sSrbId != "") {
		var oSrlOldId = document.getElementById("FontSelected1")
		var oSrlId = document.getElementById("FontSelected" + sSrbId)
		var oSrb = document.getElementById("serviceAction" + sSrbId);
		if (oSrb){
			oSrb.checked = true;
			oSrlOldId.style.fontWeight = "normal";
			oSrlId.style.fontWeight = "bold";
		}
	}
}

function ValidateSearchString(sStr){
    
    for (i=0;i<sStr.length;i++)   {
        var iChar=sStr.charCodeAt(i);
        if  (  
                !(
					(iChar==32 ) ||
                    (iChar>=97 && iChar<=122) ||
                    (iChar>=65 && iChar<=90) ||
                    (iChar>=48 && iChar<=57) ||
                    (iChar>=1488 && iChar<=1514) 
                )
            )
            {
                return false;
            }
    }
    return true    
}

function CleanKeywords(oKeyword) {
	var KeywordValue = oKeyword.value
	KeywordValue = KeywordValue.replace('http://', '');
	KeywordValue = KeywordValue.replace('www.', '');
    KeywordValue = KeywordValue.replace('.com', '');
    KeywordValue = KeywordValue.replace('.co', '');
    KeywordValue = KeywordValue.replace('.net', '');
    KeywordValue = KeywordValue.replace('.org', '');
    KeywordValue = KeywordValue.replace('.gov', '');
    KeywordValue = KeywordValue.replace('.net', '');
    KeywordValue = KeywordValue.replace('.il', '');
    KeywordValue = KeywordValue.replace('planet.nana', '');
    KeywordValue = KeywordValue.replace('members.nana', '');
    KeywordValue = KeywordValue.replace('.asp', '');
    KeywordValue = KeywordValue.replace('.htm', '');
    KeywordValue = KeywordValue.replace('.html', '');
    KeywordValue = KeywordValue.replace(/\?/g, ' ');
    KeywordValue = KeywordValue.replace(/!/g, ' ');
    KeywordValue = KeywordValue.replace(/;/g, ' ');
    KeywordValue = KeywordValue.replace(/\+/g, ' ');
    KeywordValue = KeywordValue.replace(/-/g, ' ');
    KeywordValue = KeywordValue.replace(/~/g, ' ');
    KeywordValue = KeywordValue.replace(/%/g, ' ');
    KeywordValue = KeywordValue.replace(/$/g, ' ');
    KeywordValue = KeywordValue.replace(/&/g, ' ');
    KeywordValue = KeywordValue.replace(/^/g, ' ');
    KeywordValue = KeywordValue.replace(/^/g, ' ');
    KeywordValue = KeywordValue.replace(/@/g, ' ');
    KeywordValue = KeywordValue.replace(/=/g, ' ');
    KeywordValue = KeywordValue.replace('/', ' ');
    KeywordValue = KeywordValue.replace(/\[/g, ' ');
    KeywordValue = KeywordValue.replace(/]/g, ' ');
    KeywordValue = KeywordValue.replace(/\(/g, ' ');
    KeywordValue = KeywordValue.replace(/\)/g, ' ');
    KeywordValue = KeywordValue.replace(/\*/g, ' ');
    KeywordValue = KeywordValue.replace(/#/g, ' ');
    KeywordValue = KeywordValue.replace(/}/g, ' ');
    KeywordValue = KeywordValue.replace(/{/g, ' ');
    KeywordValue = KeywordValue.replace(/,/g, ' ');
    KeywordValue = KeywordValue.replace(/</g, ' ');
    KeywordValue = KeywordValue.replace(/>/g, ' ');
	//alert(KeywordValue);
	oKeyword.value = trim(KeywordValue);
	return oKeyword;
}

function SearchNoValidateSubmit(){
	return true;
}

function DecodeKeyword(sKeyword){
	var aWords = sKeyword.split("+");
	var sNewKeyword = "";
		
	for (j=0;j<aWords.length ;j++ ){
		var aLetters = aWords[j].split("%D7");
		if (aLetters.length > 1){
			for (i=1;i<aLetters.length ;i++ )
			{
				sNewKeyword += "%" + dec2hex(parseInt("0x" + aLetters[i].substr(1,2)) + 0x50);
			}
		}
		else {
			sNewKeyword += aWords[j];
		}
		if (j <	aWords.length - 1){
			sNewKeyword += "+";	
		}					
	}
	return sNewKeyword;
}

/************************************************************************/
/*							Nana DOM and HTML functions					*/
/************************************************************************/
//Keep this function for backward compatibility
function NanaPopUp (sPopupWinArgs) {
	NanaPopUpReturn(sPopupWinArgs)
}

//This function return the refrence of the popup
//Usage:
//	NanaPopUpReturn ('TargetURL, width, height, scrollbars')
//Usage examples:
//	NanaPopUpReturn ('http://www.nana10.co.il, 400, 300, yes')
//	NanaPopUpReturn ('http://www.nana10.co.il, width=400, height=300, scrollbars=yes')
function NanaPopUpReturn (sPopupWinArgs) {					 
	if(sPopupWinArgs != '') {
		var sURL		= '';
		var sWidth		= '';
		var sHeight		= '';
		var sFeatures	= '';
		var sScrollBars	= '';
		
		var oNewWindow;					
		var sName = 'PopupWin';
		var sFeatures	= '';
		var arrArgs		= sPopupWinArgs.split(",");

		typeof(arrArgs[0]) == 'string' ? sURL = arrArgs[0] : {};
		if (typeof(arrArgs[1]) == 'string')
			sWidth = arrArgs[1].toLowerCase() 
		else {
			parent.location.href=sURL; 
			self.focus();
			return(null);
		}
		typeof(arrArgs[2]) == 'string' ? sHeight = arrArgs[2].toLowerCase() : {};
		typeof(arrArgs[3]) == 'string' ? sScrollBars = arrArgs[3].toLowerCase() : {};
		
		sFeatures = 'top=10, left=10';
		
		if (sWidth == "width=0") {
			sWidth = '';
		} else if (sWidth.indexOf('width')==-1) {
			sWidth = ', width=' + sWidth;
		} 
		
		if (sHeight == "height=0") {
			sHeight = '';
		} else if (sHeight.indexOf('height')==-1) {
			sHeight = ', height=' + sHeight;
		} 
		
		if (sScrollBars != '' && sScrollBars.indexOf('scrollbars')==-1) {
			sScrollBars = ', scrollbars=' + sScrollBars;
		} 

		sFeatures = sFeatures + sWidth + sHeight + sScrollBars
		
		oNewWindow = window.open (sURL,sName,sFeatures);
		return oNewWindow;
	}
}

// get query string paramter and return the value
function RequestQueryString(sParamName,sHref){
	var arrHref;
	var nParamStartPos=0, nParamEndPos=0;
	var sParamValue='';
	
	if (typeof(sHref) == "undefined")
		var sHref = document.location.href;
	
	arrHref = sHref.split("?");
	// return empty string if the query string not exsits
	if (arrHref.length <= 1) 
		return(sParamValue);
	sParamName += '=';
	nParamStartPos = arrHref[1].indexOf(sParamName);
	// return empty string if the requested parameter is not exsits
	if(nParamStartPos == -1)	
		return(sParamValue);
	nParamStartPos += sParamName.toString().length;
	nParamEndPos = arrHref[1].indexOf("&", nParamStartPos);
	if(nParamEndPos > -1 && nParamEndPos > nParamStartPos)
		sParamValue=arrHref[1].slice(nParamStartPos,nParamEndPos);
	else
		sParamValue=arrHref[1].slice(nParamStartPos);

	return(sParamValue);
}

function GetWindowWidth() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		myWidth = window.innerWidth;
	} else if( document.documentElement &&
		( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		myWidth = document.documentElement.clientWidth;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		myWidth = document.body.clientWidth;
	}
	return myWidth;
}

function GetWindowHeight() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		myHeight = window.innerHeight;
	} else if( document.documentElement &&
		( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		myHeight = document.body.clientHeight;
	}
	return myHeight;
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement &&
      ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

// This function save cookie - deprecated, use class
function saveCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000))		
		var expires = "; expires="+date.toGMTString()
	}
	else expires = ""
		document.cookie = name+"="+value+expires+"; path=/"				
}

// This function read the cookie that was saved by saveCookie function - deprecated, use class
function readCookie(name) {
	var nameEQ = name + "="
	var ca = document.cookie.split(';')
	for(var i=0;i<ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length)
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length)
	}
	return 1;
}

function XmlLoader(source) {
    var xmlDoc;
    if (!source.documentElement) {
        source = source || '<root></root>';
        try {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = "false";
            xmlDoc.loadXML(source);
        }
        catch (e) {
            try {
                parser = new DOMParser();
                xmlDoc = parser.parseFromString(source, "text/xml");
            }
            catch (e) {
                // alert(e.message);
                return null;
            }
        }
        source = xmlDoc;
    }
    return source;
};


/************************************************************************/
/*							Nana functionality							*/
/************************************************************************/

function displayWallashopsTemplate(sTargetId, sTemplateId){
	$(function(){
		if(typeof oWsProducts != "undefined")
		{
			if(typeof oWsProducts.error == "undefined")
			{
				oWsProducts.vertical_template.sort(randOrd);
				oWsProducts.main_template.sort(randOrd);
				oWsProducts.horizontal_template.sort(randOrd);
				$("#" + sTargetId).setTemplateElement(sTemplateId,null,{filter_data: false});
				$("#" + sTargetId).processTemplate(oWsProducts);
			}
		}
	});
}

function SetGirafaCheckbox(flag, Formobject){
	if (flag) {
		Formobject.gr.value=1;
	}
	else {
		Formobject.gr.value=0;
	}
}

var naPageRefreshEnabled = true;

function SetPageRefresh(iTimeoutInterval){
	if (iTimeoutInterval > 0){
		window.setTimeout(function(){PerformPageRefresh(iTimeoutInterval);},iTimeoutInterval);
	}
}

function PerformPageRefresh(iTimeoutInterval){
	//Perform page refresh or set another try after interval
	if (naPageRefreshEnabled){
		document.location.href = document.location.href;
	}
	else {
		window.setTimeout(function(){PerformPageRefresh(iTimeoutInterval);},iTimeoutInterval);
	}
}

function TogglePageRefresh(bVal){
	naPageRefreshEnabled = bVal;
}

function CheckSurveyType1Form()	{
	var bFormFilled = true; 
	var bQuestionFilled = false;

	for (i=0; i<document.getElementsByName("QuestionID").length; i++)
	{
		bQuestionFilled = false;

		for (j=0; j<document.getElementsByName(document.getElementsByName("QuestionID")[i].value).length; j++)
		{
			if (document.getElementsByName(document.getElementsByName("QuestionID")[i].value)[j].checked == true) {
				bQuestionFilled = true;
				break;
			}
		}
		if ( bQuestionFilled != true){
			bFormFilled = false;
			break;
		}
	}
	return bFormFilled;
}
	
function CheckSurveyType2Form()	{	
	if(CheckSurveyType1Form()) {	
		if ( document.getElementById("FirstName").value!='' && document.getElementById("LastName").value!='' && document.getElementById("Address").value!='' && 	(new Input(document.getElementById("Email")).CheckEmail()) ) 
				{	
					new Div (document.getElementById("oMsg")).Open();
					new Div (document.getElementById("oMsgBold")).Close();
					return true;
				}
				else 
				{
					if (document.getElementById("FirstName").value=='' || document.getElementById("LastName").value=='' || document.getElementById("Address").value=='' )
						document.getElementById("oMsgBold").innerHTML="נא למלא את כל השדות המסומנים בכוכבית";
					else 
						document.getElementById("oMsgBold").innerHTML="שדה דואר אלקטרוני לא תקין";
					
					new Div (document.getElementById("oMsg")).Close();
					new Div (document.getElementById("oMsgBold")).Open();
					return false;
				}
			}
	document.getElementById("oMsgBold").innerHTML="אנא השב על כל השאלות.";
	new Div (document.getElementById("oMsg")).Close();		
	new Div (document.getElementById("oMsgBold")).Open();
	return false;
}


function PopUpResizeTicker() {
	var iWidth=496;
	var iOffsetY=90;
	window.moveTo(0,0);
	window.resizeTo(iWidth,(new Div(document.getElementById("oTickerBody")).getHeight())+iOffsetY);
	window.focus();		
}

function ValidateForm(){
	var dt=document.frmSample.txtDate
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }
 
function OpenGameWindow(sLink, sTitle) {
	sTitle = sTitle.replace("'", "`");
	var typeid = RequestQueryString("typeid", sLink);
	if(typeid == ""){
		sLink += "&typeid=5";
	}
	else if(typeid != 5 && typeid != ""){
		sLink = sLink.replace("typeid=" + typeid, "typeid=5");
	}
	window.open(sLink + "&GameN=" + sTitle, "", "width=1024,height=910,resizable=1,scrollbars=1");	
}

/************************************************************************/
/*									END									*/
/************************************************************************/
