Array.prototype.inArray = function (value)
// Returns true if the passed value is found in the
// array.  Returns false if it is not.
{
    var i;
    for (i=0; i < this.length; i++) {
        // Matches identical (===), not just similar (==).
        if (this[i] === value) {
            return true;
        }
    }
    return false;
};

function autoTab(formName,nodeObj){
	var formObj		= document.getElementById(formName);	
	var index 		= getIndex(formObj,nodeObj);
	var nextIndex	= 2;
	var maxLength	= nodeObj.getAttribute("maxlength");
	
	tabField(formObj, nodeObj, maxLength, nextIndex);
	
}
function tabField(formObj, nodeObj, nextIndex){
	//loop door de childNodes heen
	for(var i=0;i<formObj.childNodes.length;i++){
		if(formObj.childNodes[i].childNodes.length > 0){
			var returnVar = tabField(formObj.childNodes[i], nodeObj);
			if(returnVar != false && returnVar != undefined){
				return returnVar;
			}
		}
		else if(formObj.childNodes[i] == nodeObj){
			var maxLength 	= formObj.childNodes[i].getAttribute("maxlength");
			var textLength	= formObj.childNodes[i].value.length;
			
			if(textLength == maxLength){
				formObj.childNodes[i+2].focus();	
			}
		}
	}		
}

function getIndex(formObj,nodeObj){
	//loop door de childNodes heen
	for(var i=0;i<formObj.childNodes.length;i++){
		if(formObj.childNodes[i].childNodes.length > 0){
			var returnVar = getIndex(formObj.childNodes[i], nodeObj);
			if(returnVar != false && returnVar != undefined){
				return returnVar;
			}
		}
		else if(formObj.childNodes[i] == nodeObj){
			var browser=navigator.appName;

			if(browser == "Microsoft Internet Explorer"){
				var returnVar = i+1;
			}
			else{
				var returnVar = i;	
			}

			return returnVar;
		}
	}	
}
function joinFields(formObj,fieldsToJoin){
	var formNodes			=	formObj.childNodes;
	var joinedField			=	"";
	
	for(var i=0;i<formNodes.length;i++){
		if(formNodes[i].name == fieldsToJoin){
			joinedField		=	joinedField+formNodes[i].value;	
		}
		else if(formNodes[i].childNodes.length > 0){
			var returnVar = joinFields(formNodes[i],fieldsToJoin);
			if(returnVar != false && returnVar != undefined){
				return returnVar;	
			}
		}
	}
	if(joinedField.length > 0){
		return joinedField;
	}
	else{
		return false;	
	}
}
function replaceValue(){
	
}

function checkInput(formObj,reqFields,fieldsToJoin,replaceValue){
	var errorObj;
	var requiredFields;
	var formNodes;
	
	errorObj			=	new Array();
	formNodes			=	formObj.childNodes;
	
	if(fields2join.length > 0){
		
		var joinedField = joinFields(formObj,fieldsToJoin);
		
		var replaceValueObj 	= 	document.getElementById(replaceValue);
		
		replaceValueObj.value	=	joinedField;
	}
	
	//loop door de required fields heen
	for(var i=0;i<formNodes.length;i++){
		if(reqFields.inArray(formNodes[i].name)){
			//check of de waarde leeg is
			if(formNodes[i].value == "" || formNodes[i].value.length == 0){
				errorObj.push(formNodes[i]);
			}
			else{
				//zet de kleur van de border etc terug
				formNodes[i].style.border		=	"3px double";
				formNodes[i].style.borderColor 	=	"#c4cccc #acb5b5 #6f7777 #acb5b5";	
			}
		}	
	}
	//check nummer
	if(!document.getElementById("msisdn").value.match(/\d{10}/)){
		errorObj.push(document.getElementById("msisdn"));
		//zorg ervoor dat de vakjes rood worden
		for(var i=0;i<formNodes.length;i++){
			if(formNodes[i].childNodes.length > 0){
				for(var k=0;k<formNodes[i].childNodes.length;k++){
					if(formNodes[i].childNodes[k].name == "cellNumber"){
						formNodes[i].childNodes[k].style.border		=	"3px double";
						formNodes[i].childNodes[k].style.borderColor 	=	"red red red red";	
					}
				}
			}
			if(formNodes[i].name == "cellNumber"){
				formNodes[i].style.border		=	"3px double";
				formNodes[i].style.borderColor 	=	"red red red red";	
			}
		}
	}
	
	if(errorObj.length	> 0){
		writeErrorMsg(errorObj);
		return false;
	}
	else{
		return true;	
	}
	return false;
}
function writeErrorMsg(errorObj){
	var errorMsg;
	var errorMsgDivId;
	
	errorMsg		=	new Array();
	errorMsgObj		=	document.getElementById("errorMsg");
	
	errorMsg['msisdn']		=	"You really need to enter your correct number!";
	errorMsg['cellNumber']		=	"You really need to enter your correct number!";
	errorMsg['option']		=	"You really need to select your carrier!";
	errorMsg['artist']		=	"You really need to select your artist!";
	
	//loop door de errorObj heen
	for(var i=0;i<errorObj.length;i++){
		//verander de style
		errorObj[i].style.border		=	"3px double";
		errorObj[i].style.borderColor 	=	"red red red red";	
	}
	
	//plaats die message
	errorMsgObj.innerHTML	=	errorMsg[errorObj[0].name];
	
	return false;
	
}

/** 
*  	@FUNCTION: selectClip
	looks for the radio option with the corresponding number, and sets it to checked
	@param	clipNum		integer
*
**/
function selectClip( clipNum ) {
	try {
		var clipRadio = document.getElementById('option' + clipNum);
		if( clipRadio ) {
			clipRadio.checked = true;
		}
	} 
	catch(e) {;}
}