/**
 * @author GTL
 */
function validateEnroller() {
	
	if (document.getElementById('name').value == '') {
		alert('Name is required!');
		document.getElementById('name').focus();
		return false;
	}else {
		if(!isName(document.getElementById('name').value)){
			alert('Name should contain a-z, A-Z or 0-9');
			document.getElementById('name').focus();
			return false;
		}
	}
	if (document.getElementById('email').value == '') {
		alert('Email is required!');
		document.getElementById('email').focus();
		return false;
	}else if (!isEmail(document.getElementById('email').value)) {
		alert('Invalid Email!');
		document.getElementById('email').focus();
		return false;
	}
}

function isEmail(strEmail) {
	var emailexp = /^[a-z0-9,!\#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})/i
		return emailexp.test(strEmail);
}

function isName(strName){
	var nameExp = /^[a-z0-9A-Z]/i
	 return nameExp.test(strName);
}

function swapImage(target, thumbImgSrc, largerImg_src) {
	document.getElementById('main-image').src = thumbImgSrc;
	document.getElementById('main-image-link').href = largerImg_src;
}

function getSizeElement() {
	var size = '';
	var items;
	inputs = document.getElementsByTagName("select");
	for(a = 0; a < inputs.length; a++) {
		if (inputs[a].className.indexOf("super-attribute-select") != -1) {
			ele = document.getElementById(inputs[a].id);
			items = ele.options[ele.selectedIndex].text.split(" ");
			if ('Select' != items[0]){
				size = items[0];
			}
		}
	}
	return size;
}

function addToVisitorWishList(url){
	selectedSize = getSizeElement();
	wishListUrl =  url + 'size/' + selectedSize;
	setLocation(wishListUrl);
}

function getXMLHTTP() { //fuction to return the xml http object
	var xmlhttp=false;	
	try{
		xmlhttp=new XMLHttpRequest();
	}
	catch(e)	{		
		try{			
			xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e){
			try{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e1){
				xmlhttp=false;
			}
		}
	}
	return xmlhttp;
}

function populateColours(URL, garmentId) {		
	
	var strURL = URL + "garmentId/" + garmentId + "/catId/" + catId;
	var req = '';
	var xml = '';
	
	req = getXMLHTTP();
	if (req) {
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				// only if "OK"
				if (req.status == 200) {
					xml = req.responseXML.documentElement;
					totalcolours = xml.getElementsByTagName('totalcolours')[0].firstChild.data;
					
					if (totalcolours > 0){
						result_value = Array();
						result_label = Array();
						document.getElementById('colour').innerHTML = '';	
						
						// add default option
						addOption(document.frminputs.colour,'','Colour');
						
						for (i = 0; i < totalcolours; i++) {
							result_value[i] = xml.getElementsByTagName('value')[i].firstChild.data;
							result_label[i] = xml.getElementsByTagName('label')[i].firstChild.data;
							
							addOption(document.frminputs.colour,result_value[i],result_label[i]);
						}
					}
					else {
						document.getElementById('colour').innerHTML = '';
						addOption(document.frminputs.colour,'','No Colour available');
					}
				} else {
					alert("There was a problem while using XMLHTTP:\n" + req.statusText);
				}
				document.getElementById('selectcolour').style.display = 'block';
				document.getElementById('colour').style.display = 'block';
				document.getElementById('loadingcolour_drop_down').style.display = 'none';
			}
		}
		document.getElementById('selectcolour').style.display = 'none';
		document.getElementById('colour').style.display = 'none';
		document.getElementById('loadingcolour_drop_down').style.display = 'block';
		req.open("GET", strURL, true);
		req.send(null);
	}
}

function populateSize(URL, colourId, garmentId) {
	var strURL = URL + "colourId/" + colourId + "/garmentId/" + garmentId + "/catId/" + catId;
	var req = getXMLHTTP();
	
	if (req) {
		
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				// only if "OK"
				if (req.status == 200) {
					xml = req.responseXML.documentElement;
					totalSizes = xml.getElementsByTagName('totalsizes')[0].firstChild.data;
					if (totalSizes > 0){
						result_value = Array();
						result_label = Array();
						document.getElementById('size').innerHTML = '';	
						// add default option
						addOption(document.frminputs.size,'','Size');
						
						for (i = 0; i < totalSizes; i++) {
							result_value[i] = xml.getElementsByTagName('value')[i].firstChild.data;
							result_label[i] = xml.getElementsByTagName('label')[i].firstChild.data;
							
							addOption(document.frminputs.size,result_value[i],result_label[i]);
						}
					}
					else {
						document.getElementById('size').innerHTML = '';
						addOption(document.frminputs.size,'','No Size available');
					}
				} else {
					alert("There was a problem while using XMLHTTP:\n" + req.statusText);
				}
				document.getElementById('selectsize').style.display = 'block';
				document.getElementById('size').style.display = 'block';
				document.getElementById('loadingsize_drop_down').style.display = 'none';
			}
		}
		document.getElementById('selectsize').style.display = 'none';
		document.getElementById('size').style.display = 'none';
		document.getElementById('loadingsize_drop_down').style.display = 'block';
		req.open("GET", strURL, true);
		req.send(null);
	}			
}

function checkProduct(URL, garmentId, colourId, sizeId) {
	var strURL = URL + "garmentId/" + garmentId + "/colourId/" + colourId + "/sizeId/" + sizeId + "/catId/" + catId;
	var ItemArr;
	var req = getXMLHTTP();
	
	if (req) {
		
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				// only if "OK"
				if (req.status == 200) {
					ItemArr = req.responseText.split('#');
					document.getElementById('product').value = ItemArr[0];
					document.getElementById('product_name').innerHTML = 'Club Top Item : <br />' + ItemArr[1];
				} else {
					alert("There was a problem while using XMLHTTP:\n" + req.statusText);
				}
				document.getElementById('selectclubname').style.display = 'block';
				document.getElementById('clubname').style.display = 'block';
				document.getElementById('loadingclub_drop_down').style.display = 'none';
			}
		}
		document.getElementById('selectclubname').style.display = 'none';
		document.getElementById('clubname').style.display = 'none';
		document.getElementById('loadingclub_drop_down').style.display = 'block';
		req.open("GET", strURL, true);
		req.send(null);
	}			
}

/**
 * This function is used to add the option to select tag
 * @param {str select} selectbox
 * @param {str} option value
 * @param {str} option text
 */	
function addOption(selectbox,value,text)
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}
