﻿
function OnInsertClose_Click( nSurveyId )
{
    window.close();
    
    if (window.opener && !window.opener.closed) 
    {
        window.opener.location.reload();
    } 
}
function OnInsertMore_Click( nSurveyId )
{
    window.location = "Survey.aspx?type=insertdata&id="+nSurveyId;
}

function IsRequired( sender, args )
{
	var strIdsString = sender.attributes["groupids"].value;
	var strIds = strIdsString.split( ',' );
	
	for( var i=0; i<strIds.length-1; i++ ) 
	{
		oElement = document.getElementById( strIds[ i ] );
		
		if( oElement.checked )
		{
			args.IsValid = true;
			return;
		}
	}
	args.IsValid = false;
	return;
}
function ComboIsRequired( sender, args )
{
	var bRes = false;
	var strComboId = sender.attributes["comboid"].value;
	var oCbo = document.getElementById( strComboId );
	
	if( oCbo.selectedIndex > 0 )
		bRes = true;

	args.IsValid = bRes;
	return;
}
function MatrixIsRequired( sender, args )
{

	var strItems = sender.attributes["ids"].value.split( '#' );

	for( j=0; j<strItems.length-1; j++ )
	{
		var strAnswerIds = strItems[ j ].split( ',' );
		var bRes = false;
		
		for( var i=0; i<strAnswerIds.length-1; i++ ) 
		{
			oElement = document.getElementById( strAnswerIds[ i ] );
			
			if( oElement.checked )
			{
				bRes = true;
			}
		}
		if( bRes == false )
		{
			args.IsValid = false;
			return;
		}
	}

	args.IsValid = true;
	return;
}
function RatingIsRequired( sender, args )
{
	var bRes = false;
	var strControls = sender.attributes["controls"].value.split( ',' );
	var nNumberOfAnswers = parseInt( sender.attributes[ "numberofanswers" ].value );
	var nIndexSum = nNumberOfAnswers * ( nNumberOfAnswers + 1 ) / 2;
	
	var oCbo = null;
	var nComboSum = 0;
	
	for( j=0; j<strControls.length; j++ )
	{
		oCbo = document.getElementById( "ddlRating_" + strControls[ j ] );
		nComboSum += oCbo.selectedIndex;
	}

	if( nIndexSum == nComboSum )
	{
		bRes = true;
	}
		
	args.IsValid = bRes;
	return;
}
function ValidateRating( oCurrentDdl, strDdlIds )
{
	var strIds = strDdlIds.split( ',' );
	var oCbo = null;
	for( i=0; i<strIds.length-1; i++ )
	{				
		//if( strIds[ i ]
		oCbo = document.getElementById( strIds[ i ] );
		//alert( "ID: "+oCbo.id + " - Selected: " + oCbo[ oCbo.selectedIndex ].value )
		//alert( "strIdsI: "+ strIds[ i ] + " - current: " + oCurrentDdl.id )
		if( ( strIds[ i ] != oCurrentDdl.id ) )
		{
			//alert( "###:" + oCbo[ oCbo.selectedIndex ].value + "   ###:" + oCurrentDdl[ oCurrentDdl.selectedIndex ].value )
			if( oCbo.selectedIndex == oCurrentDdl.selectedIndex )
			{
				//alert( "núll stilli combo og set gildið á nýja boxið" );
				oCbo.selectedIndex = 0;
			}
		}
	}

}

function IsStringTest( sender, args )
{
	var newValue = args.Value;
	var newLength = newValue.length;
	var extraChars = ". -,";
	var search;
	var aChar;
	
	
	//alert( "Ascii Code: " + Asc("A")  )
	
	for( var i=0; i!=newLength; i++ ) 
	{
		aChar = newValue.substring( i,i+1 );
		aChar = aChar.toUpperCase();
		search = extraChars.indexOf( aChar );

		alert( aChar < "A"  )
		if(search = -1 && (aChar < "A" || aChar > "Z") ) 
		{
			args.IsValid = false;
			return;
		}
	}
	return;
}

function IsString( sender, args )
{
	//alert( sender.minval );
	//alert( sender.maxval );
	
	var ValidChars = escape( "aábcdðefghiíjklmnoópqrstuúvwxyýzþæö0123456789@.-" );
	var Char;
	var sText= args.Value; //document.getElementById("TextBox1").value;

	/*for (i = 0; i < sText.length; i++) 
	{ 
		Char = sText.charAt(i); 
		alert( ValidChars.indexOf( Char ) )
		if( ValidChars.indexOf( Char ) == -1 ) 
		{
			args.IsValid = false;
			
			return;
		}
	}*/
	var nMinVal = parseInt( sender.minval );
	var nMaxVal = parseInt( sender.maxval );
	
	if( ( nMinVal > 0 && nMinVal > sText.length ) || ( nMaxVal > 0 && nMaxVal < sText.length ) )
	{
		args.IsValid = false;
		return;
	}

	return;
}
function IsNumber( sender, args )
{
	//alert( sender.minval );
	//alert( sender.maxval );
	
	var ValidChars = "";
	if( sender.isinteger == "1" )
	{
		ValidChars = "0123456789";
	}
	else
	{
		ValidChars = "0123456789.,";
	}
	
	var Char;
	var sText= args.Value; //document.getElementById("TextBox1").value;
	for (i = 0; i < sText.length; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
		args.IsValid = false;
		return;
		}
	}
	var dMinVal = parseFloat( sender.minval );
	var dMaxVal = parseFloat( sender.maxval );
	
	if( ( dMinVal > 0 && dMinVal > parseFloat( sText ) ) || ( dMaxVal > 0 && dMaxVal < parseFloat( sText ) ) )
	{
		args.IsValid = false;
		return;
	}

	
	return;
}


function allValidChars( email ) 
{
	var parsed = true;
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-";
	for( var i=0; i < email.length; i++ ) 
	{
		var letter = email.charAt( i ).toLowerCase();
		if( validchars.indexOf( letter ) != -1 )
			continue;
		parsed = false;
		break;
	}
	return parsed;
}



function IsPositiveNumber( sender, args )
{
	var sText = args.Value;
	if( !isNaN )
	{
		if( parseInt( sText ) >= 0 )
			return;
	}
	return false;
}

function IsNegativeNumber( sender, args )
{
	var sText = args.Value;
	if( !isNaN )
	{
		if( parseInt( sText ) < 0 )
			return;
	}
	return false;
}

function IsValidEmail( sender, args ) 
{
	var email = args.Value;

    if( email.length==0 ) 
    {  
        args.IsValid = false;
    }
    if(! allValidChars( email ) ) 
    {  // check to make sure all characters are valid
        args.IsValid = false;
    }
    if( email.indexOf( "@" ) < 1 ) 
    { //  must contain @, and it must not be the first character
        args.IsValid = false;
    } 
    else if( email.lastIndexOf( "." ) <= email.indexOf( "@" ) ) 
    {  // last dot must be after the @
        args.IsValid = false;
    } 
    else if( email.indexOf( "@" ) == email.length ) 
    {  // @ must not be the last character
        args.IsValid = false;
    }
	
    return;
}


