﻿// JScript File
var iteration;

var saveContent;
var saveAndReturnContent;
var saveText;
var saveAndReturnText;
var starter = 0;

function addRow(addLabel,removeLabel,place,WUC_Name)
{
    if(place=='o')
		place=0;
	var TableName = WUC_Name + "_tb_multiLinks" ;
	var tbl = document.getElementById(TableName);
	//if(tbl.innerHTML.indexOf("<SCRIPT>") != -1 )
	//	tbl = document.getElementById("table2");
	var lastRow = tbl.rows.length;
	
	// if there's no header row in the table, then iteration = lastRow + 1
	iteration = lastRow;
	var row = tbl.insertRow(lastRow);
	
	//create add button
	var cellButton1 = row.insertCell(0);
	cellButton1.setAttribute('id',WUC_Name+'td0'+iteration);
	var tempStr = "<input type=\"button\" value=\"" + addLabel + "\" onclick=\"addRow('" + addLabel + "','" + removeLabel + "','" + iteration + "','" + WUC_Name  + "')\">";
	document.getElementById(WUC_Name+'td0'+iteration).innerHTML = tempStr;
	
	
	//create remove button  
	var cellButton2 = row.insertCell(1);
	cellButton2.setAttribute('id',WUC_Name+'td1'+iteration);
	var tempStr = "<input type=\"button\" value=\"" + removeLabel + "\" onclick=\"removeRow('" + iteration + "','" + WUC_Name  + "') \" />"
	document.getElementById(WUC_Name+'td1'+iteration).innerHTML = tempStr;
	
	//create dropdownlist
	var cellButton3 = row.insertCell(2);
	cellButton3.setAttribute('id',WUC_Name+'td_2'+iteration);
	
	var tempStr = "<select id='"+WUC_Name+"td2" + iteration + "' name='"+WUC_Name+"td2" + iteration + "'>" ;
	
	    tempStr +="<option selected value=\"0\">חטיבה</option>" ;
        tempStr +="<option value=\"1\">תת חטיבה</option>" ;
        tempStr +="<option value=\"2\">סדרה</option>" ;
        tempStr +="<option value=\"3\">פריט</option>" ;
    	tempStr +="</select>" ;
	document.getElementById(WUC_Name+'td_2'+iteration).innerHTML = tempStr;
	
	//create name text field 
	var cellButton4 = row.insertCell(3);
	cellButton4.setAttribute('id',WUC_Name+'td_3'+iteration);
	cellButton4.setAttribute('align','left');
	var tempStr = "<input type=\"text\" onchange=\"appendAllLinks('" + WUC_Name + "')\" size=\"20\" id=\"" + WUC_Name + "td3" + iteration +"\"/>";
	document.getElementById(WUC_Name+'td_3'+iteration).innerHTML = tempStr;
		
	//create URL text field
	var cellButton5 = row.insertCell(4);
	cellButton5.setAttribute('id',WUC_Name+'td_4'+iteration);
	cellButton5.setAttribute('align','left');
	var tempStr = "<input type=\"text\" onblur=\"validateUrl(" + WUC_Name + "td4" + iteration + ".value," + WUC_Name + "td2" + iteration + ".value , 1)\" onchange=\"appendAllLinks('" + WUC_Name + "')\" size=\"35\" id=\"" + WUC_Name + "td4" + iteration +"\"/>";
	document.getElementById(WUC_Name+'td_4'+iteration).innerHTML = tempStr;
		
	for(i=lastRow ; i>place ; i--)
	{
		lastI=i-1;
        document.getElementById(WUC_Name+'td2'+i).selectedIndex = document.getElementById(WUC_Name+'td2'+lastI).selectedIndex;
		document.getElementById(WUC_Name+'td3'+i).value = document.getElementById(WUC_Name+'td3'+lastI).value;
		document.getElementById(WUC_Name+'td4'+i).value = document.getElementById(WUC_Name+'td4'+lastI).value;
	}
	place++;
	document.getElementById(WUC_Name+'td2'+place).selectedIndex=0;
	document.getElementById(WUC_Name+'td3'+place).value="";
	document.getElementById(WUC_Name+'td4'+place).value="";
	
	document.all(WUC_Name + "_pressButtonFlag").value = true;
	
	appendAllLinks(WUC_Name);	
}

function removeRow(rowNum , WUC_Name )
{
	var TableName = WUC_Name + "_tb_multiLinks" ;
	var tbl = document.getElementById(TableName);
	//if(tbl.innerHTML.indexOf("<SCRIPT>") != -1 )
	//	tbl = document.getElementById('table2');
	var lastRow = tbl.rows.length;
	/*
	alert(rowNum + " , " + lastRow);
	if(rowNum==lastRow)
		tbl.deleteRow(rowNum-1);
	else
	{
		tbl.deleteRow(rowNum);
	}
	*/
	for(i=rowNum ; i < tbl.rows.length-1 ; i++)
	{
		var next = parseInt(i) + parseInt(1);
        document.getElementById(WUC_Name+'td2'+i).selectedIndex = document.getElementById(WUC_Name+'td2'+next).selectedIndex;
		document.getElementById(WUC_Name+'td3'+i).value = document.getElementById(WUC_Name+'td3'+next).value;
		document.getElementById(WUC_Name+'td4'+i).value = document.getElementById(WUC_Name+'td4'+next).value;
	}
	tbl.deleteRow(lastRow-1);

	appendAllLinks(WUC_Name);
	
	document.all(WUC_Name + "_pressButtonFlag").value = true;
}


function encodeMyHtml(text) 
{	
    text = escape(text)
    text = text.replace(/\//g,"%2F");
    text = text.replace(/\?/g,"%3F");
    text = text.replace(/=/g,"%3D");
    text = text.replace(/&/g,"%26");
    text = text.replace(/@/g,"%40");
    return text;
} 
   
function appendAllLinks(WUC_Name)
{
    var TableName = WUC_Name + "_tb_multiLinks" ;	
	var tbl = document.getElementById(TableName);
	//if( (tbl == null) || (tbl.innerHTML.indexOf("<SCRIPT>") != -1) )
	//{
	//	tbl = document.getElementById('table2');
		if( (tbl == null) || (tbl.innerHTML.indexOf("<SCRIPT>") != -1) )
		{
			return;
		}
	//}
	var lastRow = tbl.rows.length;
	var i;
	var accumulator="<links>";
	for(i=0;i<lastRow;i++)
	{	
		accumulator += "<link><ddl>";
		accumulator += document.getElementById(WUC_Name + 'td2' + i).value;
		accumulator += "</ddl><name>";
		accumulator += document.getElementById(WUC_Name + 'td3' + i).value;
		accumulator += "</name><id>";
		accumulator += "linkId" + i;
		accumulator += "</id><url>";
		accumulator += document.getElementById(WUC_Name + 'td4' +i).value;	
		accumulator += "</url></link>";
	}
	
	accumulator += "</links>";
	document.all(WUC_Name + "_xmlString").value =  accumulator;
	
	//document.all(WUC_Name + "_TextBox1").value = Math.random();
	
	//validateMultiLinks();
	//document.getElementById('xmlString').innertText = accumulator;
	//alert(accumulator);	
	//__doPostBack("","");
}

function initializeRow(linkName,linkUrl)
{
	var linkLabel = document.getElementById('linkInput').value;
	var addLabel = document.getElementById('addInput').value;
	var removeLabel = document.getElementById('removeInput').value;
	var i=0;
	
	while( (document.getElementById(WUC_Name+"td2"+i).value == "") && (document.getElementById(WUC_Name+"td3"+i).value == "") )
		i++;
	
	document.getElementById(WUC_Name+"td2"+i).value == linkName;
	document.getElementById(WUC_Name+"td3"+i).value == linkUrl;
	alert('initializeRow');
	addRow(linkLabel,addLabel,removeLabel);
}



function validateMultiLinks()
{

	if(document.getElementById("AuthoringReeditSaveAnchor") != null)
	{
		if(starter == 0)
		{
			saveContent = document.getElementById("AuthoringReeditSaveAnchor").outerHTML;
			saveAndReturnContent = document.getElementById("AuthoringReeditSaveAndExitAnchor").outerHTML;
			saveText = document.getElementById("AuthoringReeditSaveAnchor").innerText;
			saveAndReturnText = document.getElementById("AuthoringReeditSaveAndExitAnchor").innerText;
			starter = 1;
		}
		
		var source = document.forms[0].xmlString.value;
		var alertUser=0;
		
		if( (source.indexOf("<name></name>") != -1) || (source.indexOf("<url></url>") != -1) )
		{
			
			for(i=0 ; i< source.length ; i++)
			{
				if( ( (source.substring(i,i+13) == "<name></name>") && (source.substring(i).indexOf("<url></url>") == -1) ) ||
					( (source.substring(i).indexOf("<url></url>") != -1) && ( (source.substring(i).indexOf("<url></url>") - (source.substring(i).indexOf("<name></name>") ) ) > 30) ) )
				{
					alertUser=1;
					break;
				}
				else if( ( (source.substring(i,i+11) == "<url></url>") && (source.substring(0,i).indexOf("<name></name>") == -1) ) || 
						( (source.substring(0,i).indexOf("<name></name>") != -1) && ( (source.substring(i).indexOf("<url></url>") - (source.substring(0,i).lastIndexOf("<name></name>") ) ) > 30) ) )
				{
					alertUser=1;
					break;
				}
				
			}
		}
		
		if(alertUser == 1)
		{
			document.getElementById("AuthoringReeditSaveAnchor").outerHTML = "<A id=AuthoringReeditSaveAnchor onclick=alertFunc() href='#'>"+saveText+"</A>";
			document.getElementById("AuthoringReeditSaveAndExitAnchor").outerHTML = "<A id=AuthoringReeditSaveAndExitAnchor onclick=alertFunc() href='#'>"+saveAndReturnText+"</A>";
		}
		else
		{
			document.getElementById("AuthoringReeditSaveAnchor").outerHTML = saveContent;
			document.getElementById("AuthoringReeditSaveAndExitAnchor").outerHTML = saveAndReturnContent;
		}	
		document.getElementById("AuthoringReeditSaveAnchor").focus();
	}
}

function alertFunc()
{
	alert("At least one link field is blank");
}

function PageValidateUrl(source, clientside_arguments)
{
    arguments.IsValid=(true);		
    tbl = document.getElementById(source.WUC_ID_Key+"_tb_multiLinks");
    var lastRow = tbl.rows.length;
	var i;
	var TempUrl, TempLink ;
	for(i=0;i<lastRow;i++)
	{	
    	TempUrl = document.getElementById(WUC_Name+'td4' +i).value;
    	TempLink = document.getElementById(WUC_Name+'td3' +i).value;
    	HowMany =  document.getElementById(WUC_Name+'td2' +i).value;
		if (!validateUrl(TempUrl,HowMany,0))
		{
		    (document.getElementById(WUC_Name+'td4' +i)).style.backgroundColor='red' ;
            arguments.IsValid=(false);
		}
		else
		{
		    (document.getElementById(WUC_Name+'td4' +i)).style.backgroundColor='white' ;
		}
		
		if (TempLink=="" || TempLink == null)
		{
		    (document.getElementById(WUC_Name+'td3' +i)).style.backgroundColor='red' ;
            arguments.IsValid=(false);
		}
		else
		{
		    (document.getElementById(WUC_Name+'td3' +i)).style.backgroundColor='white' ;
		}
	}
	if (! arguments.IsValid)
	{
	    alert ('נתונים לא תקינים נא לתקן');
	    return false;
	}
}

function validateUrl(strValue1,HowMany,Mess) 
{
    var NewRegExp = "^[a-zA-Z0-9]{1,5}" ;
    var j ;
    for(j=0; j<HowMany; j++)
    {
        NewRegExp = NewRegExp + "(?:\.)[a-zA-Z0-9]{1,5}" ;
    }
    NewRegExp = NewRegExp + "$" ;
    
    if(!validateValue(strValue1, NewRegExp))
    {
        if (Mess==1)
        {
            alert('ערך לא תקין');
        }    
        return false;
    }
    else
    {
        return true;
    }
}

function validateValue(strValue, strMatchPattern) 
{
    var objRegExp = new RegExp(strMatchPattern);
    return objRegExp.test(strValue);
}

